Google Maps: Come posso cambiare lo z-index di un marcatore?
-
25-09-2019 - |
Domanda
Ci sono circa 100 marcatori su una mappa di Google più v'è un marcatore speciale che deve essere visibile. Attualmente, i marcatori che lo circondano nascondono tutto o in parte, quando la mappa è rimpicciolita. Ho bisogno che marcatore di essere completamente visibile e penso mantenerlo in cima a tutti gli altri marcatori dovrebbe fare il trucco. Ma non riesco a trovare un modo per modificare l'ordine di sovrapposizione (z-index).
Soluzione
Utilizza la zIndexProcess opzione GMarkerOptions quando si crea il marcatore che si desidera in cima. Ad esempio:
var pt = new GLatLng(42.2659, -83.74861);
var marker = new GMarker(pt, {zIndexProcess: function() { return 9999; }});
map.addOverlay(marker);
Credo il difetto è di avere un indice z che è la latitudine del punto del marcatore, quindi questo dovrebbe essere abbastanza sicuro a portare un singolo marcatore sul davanti. Inoltre, questo era solo un semplice esempio; è possibile impostare lo z-index di tutti i marcatori in qualunque semplice o complessa modo che si desidera. Un altro esempio è quello di avere due funzioni:. Uno per i marcatori speciali e uno per il resto
var pt1 = new GLatLng(42.2659, -83.74861);
var pt2 = new GLatLng(42.3000, -83.74000);
var marker1 = new GMarker(pt1, {zIndexProcess: specialMarker});
var marker2 = new GMarker(pt2, {zIndexProcess: normalMarker});
map.addOverlay(marker1);
map.addOverlay(marker2);
function specialMarker() {
return 9999;
}
function normalMarker() {
return Math.floor(Math.random()*1000);
}
Altri suggerimenti
Questo è per Google Maps API 2.
Per API di Google Maps 3 utilizzare il setZIndex (zIndex: numero) del marcatore.
Vedere: http://code.google.com/apis/maps/documentation /javascript/reference.html#Marker
L'aggiunta alla risposta di jhanifen, se si desidera ottenere il vostro un marcatore speciale per essere in cima a tutto il resto, impostarlo di zIndex per google.maps.Marker.MAX_ZINDEX + 1. Questo farà in modo che sia in cima di qualsiasi indicatore sulla mappa.