Domanda

Sto usando GMaps V3 con MarkerClusterer da http: // codice. google.com/p/gmaps-utility-library-dev/

Marcatori visualizzata sulla mappa sono definiti dall'utente e spesso collasso, quindi non importa quanto si zoom-in, il clusterer sempre spettacoli ci sono più elementi in un unico luogo. Ma l'utente dovrebbe essere in grado di fare clic su ogni singolo marcatore per visualizzare la finestra informazioni. Sapete un modo per affrontare questo?

Ho provato randomizzazione posizione un po 'sul server, ma il caso non è abbastanza casuale e marcatori continuano a crollare, semplicemente non così spesso.

È stato utile?

Soluzione

Rispondi al commento di OP nella mia risposta precedente in quanto non si adattava nella casella di commento:

  

Questo impedisce clusterer dal raggruppamento dei marcatori, ma quando le coordinate sono identici tutti gli indicatori rimanere in cima a vicenda. Sapete qualsiasi soluzione per questo?

Credo che questo sia il comportamento previsto con Google Maps - se gli indicatori hanno la esattamente lo stesso lat / lng allora si ottiene i marcatori su uno sopra l'altro.

Una possibile soluzione è aggiungere solo il primo marcatore per la mappa e poi, quando si tenta di aggiungere un altro marcatore ad un lat / lng già definito (tenere traccia di loro con una mappa JS), si potrebbe aggiungere un conteggio (o costruire una serie di informazioni marcatore) e aggiornare il testo infowindow con queste informazioni. Per esempio. cliccando sul marcatore sarebbe poi mostrare un infowindow dicendo che ci sono 15 "cose" in questa posizione e quindi elencare i loro nomi e gli attributi in un elenco sotto di essa ...

Un'altra possibilità è quella di "dither" marcatori successivi aggiungendo un numero casuale alla fine del decimale lat / lng. In questo modo quando gli zoom utente in tutto il percorso i marcatori avranno un leggero scarto. Questa opzione si sente un po ' "sporco" però.

Altri suggerimenti

Ho avuto questo problema e risolto attraverso la definizione di una proprietà costruttore "maxZoom", che era inferiore al maxZoom per la mappa di Google:

var markerCluster = new MarkerClusterer(map, markers, { maxZoom: 18 });

Quando si aggiunge un marker è possibile controllare se ci sono altri marcatori in quella stessa posizione e nella infowindow si può notare che non ci sono più marcatori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top