放大时谷歌地图和标记聚类的奇怪问题

时间:2013-09-16 19:46:40

标签: javascript google-maps google-maps-api-3 google-maps-markers markerclusterer

我正在使用谷歌地图api v3以及来自此网址的标记群集(http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.9/src/markerclusterer_packed.js

现在我的问题是:

我有两个指针映射到完全相同的纬度和经度。自然标记聚类器显示一个数字为2的蓝色气泡。然而,当我点击放大后的蓝色气泡时,蓝色的cluser图标消失了,没有显示指针。

当发生这种情况时,我的zoomChanged甚至也会被触发,并在再次触发之前提醒我缩放级别为49,并警告正确的缩放级别为20。

2 个答案:

答案 0 :(得分:1)

您需要指定maxZoom,以便显示标记。

来自the documentation

maxZoom | number | The maximum zoom level at which clustering is enabled or null if clustering is to be enabled at all zoom levels. The default value is null.

答案 1 :(得分:0)

接受的答案对我不起作用,因为我们的项目要求标记聚类器在所有缩放级别都可见。使用Marker Clusterer代替Marker Clusterer Plus插件可以解决问题,但由于其他因素,这不是一个选项。我最后做的是在将zoomOnClick选项设置为false后手动处理点击事件:

var clusterer = new MarkerClusterer(map, [], {
  zoomOnClick: false
});

google.maps.event.addListener(clusterer, 'click', function (cluster) {
  map.panTo(cluster.getCenter());
  map.set('zoom', map.get('zoom') + 2);
});