Question

J'utilise GMaps V3 avec MarkerClusterer de http: // code. google.com/p/gmaps-utility-library-dev/

Les marqueurs affichés sur la carte du Clusterer toujours indique qu'il ya sont l'effondrement, donc peu importe à quel point vous effectuez un zoom dans défini par l'utilisateur et souvent, plusieurs éléments dans un seul endroit. Mais l'utilisateur doit être en mesure de cliquer sur chaque marqueur unique pour voir la fenêtre d'information. Savez-vous un moyen de régler ce problème?

I Tried emplacement un peu aléatoire sur le serveur, mais le hasard ne suffit pas au hasard et des marqueurs à garder l'effondrement, mais pas si souvent.

Était-ce utile?

La solution

Répondre au commentaire OP dans ma réponse précédente car il ne correspondait pas dans la zone de commentaire:

  

Cela empêche Clusterer de grouper les marqueurs, mais lorsque les coordonnées sont identiques tous les marqueurs restent au-dessus de l'autre. Connaissez-vous une solution de contournement pour cela?

Je pense que le comportement est attendu avec Google maps - si les marqueurs ont exactement le même lat / lng vous obtenez les marqueurs sur le dessus de l'autre.

Une solution possible est d'ajouter que le premier marqueur sur la carte et puis quand vous essayez d'ajouter un autre marqueur à une latitude / lng déjà défini (garder trace d'eux avec une carte JS), vous pouvez ajouter un compte (ou construire un tableau d'information marqueur) et mettre à jour le texte infowindow avec cette information. Par exemple. en cliquant sur le marqueur serait alors montrer un infowindow disant qu'il ya 15 « choses » à cet endroit, puis la liste de leurs noms et attributs dans une liste en dessous ...

Une autre possibilité est de « tramage » des marqueurs ultérieurs en ajoutant un nombre aléatoire à la fin de la décimale lat / lng. De cette façon, lorsque les zooms utilisateur dans tout la façon dont les marqueurs seront légèrement décalés. Cette option se sent un peu « sale » bien.

Autres conseils

J'ai eu ce problème et résolu en définissant une propriété de constructeur de « maxZoom » qui était inférieur au maxZoom pour la carte Google:

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

Lors de l'ajout d'un marqueur, vous pouvez vérifier s'il y a d'autres marqueurs à ce même endroit et dans la infowindow, vous pouvez noter qu'il y a plusieurs marqueurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top