Static Map
El
StaticMap te permite insertar una imagen de Google Maps en tu sitio web sin utilizar JavaScript ni ningún sistema de carga de páginas dinámicas.
El resultado será una imagen con el formato que decidamos (gif, jpg o png) y sobre la que no podrá realizarse ningún tipo de interacción.
El modo de trabajar con el Static Map es muy parecido al que tenemos con el GMap normal. De hecho gran parte de propiedades con la GoogleKey, la CommercialKey, Height, Width, etc. son exactamente iguales a las del GMap.
Sus propiedades diferentes más importantes son:
- mapType: enum del tipo MapType enum que nos permetirá elegir el tipo de mapa entre "roadmap", "satellite", "hybrid" y "terrain".
- isMobile: indicaremos si usaremos la aplicación en un dispositivo móvil.
- format: enum del tipo FormatEnum que nos permitirá decidir el formato de la imagen (gif, jpg o png)
- visiblePoints: define una serie de coordenadas que deberán mostrarse en el mapa.
- Alt: define el Alt normal del element "img" de HTML.
- sensor: especifica si la aplicación que usará el static map tien un sensor que determina la localización del usuario.
Al Static Map le podemos añadir un un StaticMarker (el equivalente al GMarker) y un StaticPath equivalente al GPolyline usando los métodos "addStaticGMarker" y "addStaticPath".
En todos los casos en que se use GLatLng puedes asignar las coordenadas latitud/longitud o una dirección usando la propiedad "
optionalStringValue" (ver ejemplo).
Code.aspx
<cc1:StaticGMap ID="StaticGMap1" runat="server" Width="500" Height="500" Language="en"
format="png32" />
Code.aspx.cs
GLatLng latLng = new GLatLng(41, -7);
int colorEnumLength = 11;
int sizeEnumLength = 3;
double latStep = -1;
double lngStep = 0.4;
string msg = "Subgurim Google Maps";
int iLat = 0;
int iLng = 0;
Random r = new Random();
foreach (char c in msg)
{
if (c == ' ')
{
iLat++;
continue;
}
GLatLng latlngAux = latLng + new GLatLng(latStep * iLat + r.NextDouble() * 0.4, lngStep * iLng);
int randomColor = r.Next(colorEnumLength);
StaticGMarker.ColorEnum color = (StaticGMarker.ColorEnum)randomColor;
int randomSize = r.Next(2, sizeEnumLength);
StaticGMarker.SizeEnum size = (StaticGMarker.SizeEnum)randomSize;
StaticGMarker staticGMarker = new StaticGMarker(latlngAux, size, color, c);
StaticGMap1.addStaticGMarker(staticGMarker);
iLng++;
}
//StaticGMap1.GZoom = 5;
StaticPath path = new StaticPath();
path.colorNet = Color.FromArgb(255, 0, 80);
path.weight = 5;
path.alpha = 150;
path.points.Add(new GLatLng(41, -5));
path.points.Add(new GLatLng(41, -4));
path.points.Add(new GLatLng(40, -4));
path.points.Add(new GLatLng(39, -2));
StaticGMap1.addStaticPath(path);