Usuario anónimo  |  Ingresar  |  Regístrate

Iconos avanzados

Se puede crea un tipo de icono nuevo que sustituya al existente por defecto. Para ello se usa GIcon, que como se comentaba en el ejemplo anterior, se asignará al GMarker desde su propiedad options (del tipo GMarkerOptions).

GIcon tiene bastantes propiedades, y es obligatorio asignar algunas de ellas:

  • image: la imagen del icono (obligatorio).
  • shadow: la sombra del icono.
  • iconSize: el tamaño (del tipo GSize) de la imagen del icono (obligatorio).
  • shadowSize: el tamaño (del tipo GSize) de la sombra del icono.
  • iconAnchor: la coordenada relativa en pixeles (Gpixel) de la esquina superior izquierda desde la cual el icono es clickable (obligatorio).
  • infoWindowAnchor: la coordenada relativa en pixeles (Gpixel) de la esquina superior izquierda desde la cual el InfoWindow (o similar) asociado al icono es clickable.
  • printImage: la imagen para mapas impresos. Debe tener el mismo tamaño que image.
  • mozPrintImage: análogo a printImage, pero para Mozilla/Firefox.
  • printShadow: la sombra para mapas impresos. Debe tener el mismo tamaño que shadow.
  • transparent: la imagen de un virtual versión trasparente de la imagen, usada para capturar eventos clic en Internet Explorer. La imagen debe ser el PNG de 24-bits de la image, con un 1% de opacidad. Debe tener el mismo tamaño que image.
  • baseIcon: un icono base del que se copiarán todas las propiedades a este icono.
Recomendado: en la galería de iconos se pueden encontrar cientos de iconos para los mapas.
Code.aspx
<cc1:GMap ID="GMap1" runat="server" />
Code.aspx.cs
GLatLng latlng = new GLatLng(41, -3.2);

GMap1.setCenter(latlng, 5);

GIcon icon = new GIcon();
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
icon.iconSize = new GSize(12, 20);
icon.shadowSize = new GSize(22, 20);
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);

GMarkerOptions mOpts = new GMarkerOptions();
mOpts.clickable = false;
mOpts.icon = icon;

GMarker marker = new GMarker(latlng, mOpts);
GMap1.Add(marker);
Powered by Subgurim.NET