2012-08-07 8 views
21

Quando aggiungo più marcatori a Google Map con diversi tipi di icone come:google.maps.Marker zIndex non funziona per due tipi di icone - simbolo e String

... 
var marker = new google.maps.Marker({ 
      position: markerLatLng, 
      map: map, 
      icon: "http://www.test.com/marker.png", 
      zIndex: 10 
     }); 
... 

e

... 
var resultIcon = { 
      path: google.maps.SymbolPath.CIRCLE, 
      fillColor: "black", 
      strokeColor: "black", 
      strokeWeight: 1, 
     }; 

var marker = new google.maps.Marker({ 
      position: markerLatLng, 
      map: map, 
      icon: resultIcon, 
      zIndex: 5 
     }); 
... 

Rispetto allo zIndex non funziona e l'indicatore Simbolo appare in alto.

Mi sbaglio con il mio codice o come posso far funzionare zIndex?

+0

La vostra applicazione funziona correttamente quando non si specifica icone personalizzate? – jeff

risposta

46

È necessario sia specificare un zIndex e aggiungere

optimized: false 

a ogni costruttore marcatore, per esempio.

var marker = new google.maps.Marker({ 
    position: markerLatLng, 
    map: map, 
    icon: resultIcon, 
    optimized: false, 
    zIndex: 5 
}) 

Questo sembra essere un problema con il nuovo rendering basato su tela dei marcatori.

Edit:

risolve questo davvero il problema. Una cosa da dire è che ogni marcatore deve avere l'attributo "ottimizzato: falso". Finché un marcatore non ce l'ha, non funzionerà.

Rimuovere uno degli attributi "ottimizzati: falso" dal violino di LeJared e si verificherà il bug.

http://jsfiddle.net/BNWYq/1/

+0

Sì, hai ragione. Grazie per aver corretto il mio violino. – LeJared

+0

Questa soluzione funziona con gratitudine per me! :-) – kuceram

+0

Mi hai appena salvato un numero incalcolabile di tirarmi fuori i capelli. –

0

Ho fatto un po 'fiddl: http://jsfiddle.net/gSRmV/

Sembra un bug, che deve essere fissato da Google.

L'aggiunta di optimized: false non modifica nulla.

Modifica: Sembra ancora un bug, ma le due soluzioni di tborychowski e Codetoffel sembrano funzionare.

8

Impostazione zIndex del cerchio a -99 sembra aiutare: http://jsfiddle.net/rq4vs/2/

+0

Ehi, anche questa è una bella soluzione. Grazie per aver corretto il violino. – LeJared

+0

Questo funziona per me. –

+1

Attenzione: il problema con questa soluzione è che il simbolo "ruba" eventi come mouseover e fa clic sull'immagine, anche se è disegnata visivamente sotto l'immagine. Controlla questo violino per vedere come viene mostrato il suggerimento dal cerchio invece del suggerimento pin, anche se il cerchio è posto sotto il pin: http://jsfiddle.net/AEePr/ Spero che Google risolverà questo in un buono modo, perché l'impostazione ottimizzata = false non è ideale in tutti i casi. –

Problemi correlati