2011-01-26 13 views

Respuesta

18

que es muy simple - ver http://code.google.com/intl/en-US/apis/maps/documentation/javascript/overlays.html#SimpleIcons

ejemplo directamente de los documentos de Google

var image = 'beachflag.png'; 
var myLatLng = new google.maps.LatLng(-33.890542, 151.274856); 
var beachMarker = new google.maps.Marker({ 
    position: myLatLng, 
    map: map, 
    icon: image 
}); 

si quieres hacer cosas más complejas, también se puede extender googles superponer clases y realizar una representación personalizada ...

0

Sí, definitivamente puede:

probar este

var map = new GMap2(document.getElementById("YOUR MAP ID")); 

var icon = new GIcon(); 
icon.image = "IMAGE PATH - RELETIVE OR ABSOLUTE"; 
icon.iconSize = new GSize(25, 30); 
icon.iconAnchor = new GPoint(6, 20); 

var marker = new GMarker(new GLatLng(Latitude, Longitude), { draggable: false, title: YOURTITLEHERE, icon: icon }); 
map.addOverlay(marker); 
+0

Gracias por tu ayuda, he agregado tu código ur pero ahora obtengo dos marcadores, un marcador de globo predeterminado y el marcador personalizado que he agregado. Cómo elimino el marcador predeterminado. – user232751

+0

¿cómo agregas tu marcador predeterminado? ¿Puedes editar tu pregunta para incluir tu código? –

+0

hola, ya he adjuntado una imagen a mi marcador, pero cuando cambio el marcador con un icono personalizado, la imagen no se muestra cuando hace clic en el marcador. ¿Sabes cuál es el problema? – user232751

1

Aquí hay un camino que utilizo para usar mis propios marcadores de diseño personalizado en lugar de marcadores por defecto de Google.

Añadir esta línea de código:

var icon = new GIcon(); 
     icon.image = "http://yourwebsite.com/logo.png"; 
     icon.shadow = "http://youwebsite.com/shadow.png"; 
     icon.iconSize = new GSize(50, 28); 
     icon.shadowSize = new GSize(68, 28); 
     icon.iconAnchor = new GPoint(37, 59); 
     icon.infoWindowAnchor = new GPoint(31, 8); 

Ajuste el GSize tanto para iconSize y shadowSize si es necesario. El primer número entre paréntesis define el ancho de su marcador y el segundo número define la altura (ambos en píxeles).

Ahora, agregue esta línea de código:

var marker = new GMarker(point, icon); 

Sólo después de esta línea:

function createMarker(point, name, address) 

Espero que ayude! Puede ver una publicación de blog que escribí sobre esto al http://icode4you.net/developing-a-custom-store-locator-map-using-your-own-custom-markers-instead-of-googles-default-markers, simplemente deje un comentario si tiene alguna pregunta o problema.

0

Desde Google Map API V2, esto también podría ser don fácilmente con los objetos MarkerOptions:

map.addMarker(new MarkerOptions() 
     .position(new LatLng(...your_lat... , ...your_long...)) 
     .title("marker title") 
     .icon(BitmapDescriptorFactory 
      .fromResource(R.drawable.custom_icon))); 

Espero que esto ayude!

Cuestiones relacionadas