如何隐藏集群中的标记(Mapbox.js / Leaflet Markercluster)?

时间:2015-09-14 08:16:10

标签: javascript leaflet mapbox

我正在地图上显示照片,这些照片聚集在一起。由于某种原因,我无法弄清楚,标记群集中的标记仍然显示 - 在它们所在的群集之下或之上。(有关演示,请参阅here)。

当它们恰好位于群集下方时,它只是一个整容问题(我仍然想要解决),因为点击群集仍会按预期放大到该群集。

但是,当标记在群集上方呈现时,单击群集几乎总是注册为标记上的单击,这不是预期的行为。

长话短说,如何让包含的标记从我的群集中消失(显然,一旦它们不再出现在群集组中,它们就会重新出现?

这是相关代码:

< script >
  L.mapbox.accessToken = '###MyMapboxToken###';
var map = L.mapbox.map('home-worldmap', 'mapbox.dark', {
  // These options apply to the tile layer in the map.
  tileLayer: {
    // This map option disables world wrapping. by default, it is false.
    continuousWorld: false,
    // This option disables loading tiles outside of the world bounds.
    noWrap: true
  }
}).setView([30, 0], 2);
map.scrollWheelZoom.disable();


var clusterGroup = new L.MarkerClusterGroup();
map.addLayer(clusterGroup);
var myLayer = L.mapbox.featureLayer().addTo(map);
var geojson = {
  type: 'FeatureCollection',
  features: [{
      type: 'Feature',
      geometry: {
        type: 'Point',
        coordinates: [-19.512555, 63.530581666667]
      },
      properties: {
        title: 'Skógafoss from Below',
        'marker-size': 'small',
        'marker-color': '#ffcc11',
        'marker-symbol': 'camera',
        url: 'http://phototastic.world/photo/skogafoss-from-below/'
      }
    }, {
      type: 'Feature',
      geometry: {
        type: 'Point',
        coordinates: [-23.31073, 64.92612]
      },
      properties: {
        title: 'Kirkjufellsfoss on a Cloudy Day',
        'marker-size': 'small',
        'marker-color': '#ffcc11',
        'marker-symbol': 'camera',
        url: 'http://phototastic.world/photo/kirkjufellsfoss-on-a-cloudy-day/'
      }
    }
    /* more Features in the same format ... */
  ]
};
myLayer.setGeoJSON(geojson);
myLayer.on('click', function(e) {
  document.location.href = e.layer.feature.properties.url;
});
clusterGroup.addLayer(myLayer);
map.fitBounds(myLayer.getBounds()); < /script>

可以在此处找到完整的来源:http://phototastic.world/world-travels/

感谢您的帮助!

0 个答案:

没有答案