2012-07-07 24 views
95

C'è un modo per aggiungere alcune informazioni personalizzate ai miei marcatori per un uso successivo. Ci sono modi per avere una finestra informativa e un titolo, ma cosa succede se voglio associare il marcatore con altre informazioni.Google Maps API V3: Come aggiungere dati personalizzati ai marcatori

Ho altre cose visualizzate sulla pagina che dipendono dai marcatori, quindi quando un marcatore è fatto clic il contenuto della pagina deve cambiare a seconda di quale marker è stato cliccato. Vorrei memorizzare e recuperare i dati personalizzati una volta marker è Diciamo cliccato ecc

Grazie

risposta

169

Poiché un indicatore Google è un oggetto JavaScript, è possibile aggiungere informazioni personalizzate nel modulo key: value, dove la chiave è una stringa valida. Si chiamano proprietà dell'oggetto e possono essere affrontati in molti modi diversi. Il valore può essere qualsiasi cosa legale, semplice come numeri o stringhe, e anche funzioni, o anche altri oggetti. Tre semplici modi: nella dichiarazione, la notazione del punto e le parentesi quadre

var markerA = new google.maps.Marker({ 
    map: map, 
    position: new google.maps.LatLng(0, 0), 
    customInfo: "Marker A" 
}); 

var markerB = new google.maps.Marker({ 
    map: map, 
    position: new google.maps.LatLng(-10, 0) 
}); 
markerB.customInfo = "Marker B"; 

var markerC = new google.maps.Marker({ 
    map: map, 
    position: new google.maps.LatLng(-20, 0) 
}); 
markerC['customInfo'] = "Marker C"; 

Poi per recuperarla in un modo simile:

google.maps.event.addListener(markerA, 'click', function() { 
    alert(this.customInfo); 
}); 
+0

ha perfettamente senso. La demo rende tutto più chiaro Grazie :) – Abid

+0

Prego! –

+2

Non c'è niente in [la documentazione] (https://developers.google.com/maps/documentation/javascript/reference#MarkerOptions) che formalizza questo modello. Spero che lo facciano piuttosto che romperlo in una versione successiva. – Adam

14

è possibile aggiungere le proprie proprietà personalizzate per i marcatori (basta essere attenti a non entrare in conflitto con le proprietà del API).

Problemi correlati