2011-01-26 11 views
6

Come cambio il mio marker in google map.è possibile aggiungere la nostra immagine personalizzata alla mappa?Cambia Google map marker

Grazie, Companion

+2

Leggere la documentazione prima di fare domande ovvie. – ifaour

risposta

18

è veramente semplice - vedere http://code.google.com/intl/en-US/apis/maps/documentation/javascript/overlays.html#SimpleIcons

esempio direttamente dal google docs

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

se si vuole fare cose più complesse, è anche possibile estendere Googles sovrapponi le classi ed esegui il rendering personalizzato ...

0

Sì, sicuramente puoi:

Prova questa

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

Grazie per il tuo aiuto, ho aggiunto il tuo codice ma ora ottengo due marcatori, il marcatore di baloon di default e l'indicatore personalizzato che ho aggiunto. Come rimuovo il marcatore di default. – user232751

+0

come si aggiunge l'indicatore predefinito? puoi modificare la tua domanda per includere il tuo codice? –

+0

ciao, ho già allegato un'immagine al mio marcatore, ma quando cambio l'indicatore con un'icona personalizzata, l'immagine non viene visualizzata quando clic sul marcatore. Sai qual è il problema? – user232751

1

Ecco un modo che uso per usare i miei marcatori progettati su misura al posto dei marcatori di default di Google.

Aggiungi questa riga di codice:

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

Regolare il GSize sia per iconSize e shadowSize se necessario. Il primo numero tra parentesi definisce la larghezza del marker e il secondo numero definisce l'altezza (entrambi in pixel).

Ora, aggiungere questa riga di codice:

var marker = new GMarker(point, icon); 

Subito dopo questa riga:

function createMarker(point, name, address) 

Speranza che aiuta! Puoi vedere un post sul blog che ho scritto al http://icode4you.net/developing-a-custom-store-locator-map-using-your-own-custom-markers-instead-of-googles-default-markers, lascia un commento se hai domande o problemi.

0

da Google Map API V2, questo potrebbe anche essere don facilmente con i MarkerOptions oggetto:

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

Spero che questo aiuti!