2015-11-01 1 views
0

Je souhaite ajouter une couche au-dessus de google maps qui contient une carte intérieure. Ensuite, ajoutez les événements entrants qui contiennent des latitudes et des longitudes en tant que marqueurs sur le calque contenant la carte intérieure.Les emplacements de marqueur s'accumulent lors de l'ajout d'un marqueur sur un calque précédemment créé dans la brochure à l'aide de MarkerClusterGroup

Pour l'instant je réussi à ajouter une couche sur le dessus de la carte google

var imageBounds = new L.LatLngBounds([p, q], [r, s]); 
var imageUrl = 'assets/img/indoor.svg'; 
indoorMap = L.imageOverlay(imageUrl, imageBounds, {opacity: 0.7}); 

layerGroupIndoor = new L.MarkerClusterGroup(); 
var overlay = {'beacons': layerGroupIndoor}; 
layerGroupIndoor.addLayer(indoorMap); 
layerGroupIndoorControl = L.control.layers(null, overlay).addTo(map); 

Puis j'ai ajouté les marqueurs dynamiquement à la layerGroupIndoor comme suit.

layerGroupIndoor.addLayer(markerObject); 

Mais lorsque les emplacements sont à proximité de marqueurs (par exemple: 2 marqueurs sont à proximité) la notice donne un nouvel emplacement en moyenne, comme indiqué ci-dessous.

enter image description here

Toute suggestion pour visualiser les marqueurs comme il est?

Meilleures salutations,

Répondre

0

Je me réfère Lisez-moi [1] et fait le changement suivant et il a obtenu à un cluster à un certain niveau de zoom

layerGroupIndoor = new L.MarkerClusterGroup({ disableClusteringAtZoom: 16 }); 
  1. https://github.com/Leaflet/Leaflet.markercluster