Usuario anónimo  |  Ingresar  |  Regístrate

Static Map

El StaticMap 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 del 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 permite elegir el tipo de mapa entre "roadmap",  "satellite", "hybrid" y "terrain".
  • isMobile: indica si se usará la aplicación en un dispositivo móvil.
  • format: enum del tipo FormatEnum que permite 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 se le puede 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 se pueden asignar las coordenadas latitud/longitud o una dirección usando la propiedad "optionalStringValue" (ver ejemplo).


Code.aspx
<cc1:StaticGMap ID="StaticGMap1" runat="server" Language="en" format="png32" />
<br/>
<cc1:StaticGMap ID="StaticGMap2" runat="server" 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++;
}

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);

StaticGMap2.setCenter(new GLatLng("Valencia, Spain"));
GLatLng paris = new GLatLng("Paris");
GLatLng athens = new GLatLng();
athens.optionalStringValue = "athens";

StaticGMap2.addStaticGMarker(new StaticGMarker(paris, new StaticGIcon("http://maps.google.com/mapfiles/kml/shapes/sunny.png")));
StaticGMap2.addStaticGMarker(new StaticGMarker(athens, new StaticGIcon("http://maps.google.com/mapfiles/kml/shapes/sunny.png", true)));

StaticPath path2 = new StaticPath();
path2.fillColorNet = Color.Brown;
path2.colorNet = Color.ForestGreen;
path2.weight = 2;
path2.alpha = 150;
path2.points.Add(new GLatLng("Berlin"));
path2.points.Add(new GLatLng("Rome"));
path2.points.Add(new GLatLng("Morocco"));
StaticGMap2.Add(path2);
Powered by Subgurim.NET