这更像是 Maps-API 中的错误而不是 markerClusterer 中的错误,但您可以在markerClusterer.js中修复它
当您(尝试)将缩放设置为 0 时,我不确定您单击的位置(当我使用缩放控件时不会出现这个问题),但是当我使用设置缩放时会发生这种情况map.setZoom(0)
问题:API 报告缩放为 0,但这是不正确的,因为缩放将设置为 1(minZoom)。
修复:
替换 marcerclusterer.js 的这一部分:
// Add the map event listeners
var that = this;
google.maps.event.addListener(this.map_, 'zoom_changed', function() {
var zoom = that.map_.getZoom();
if (that.prevZoom_ != zoom) {
that.prevZoom_ = zoom;
that.resetViewport();
}
});
...接着就,随即:
// Add the map event listeners
var that = this;
google.maps.event.addListener(this.map_, 'zoom_changed', function() {
var zoom = that.map_.getZoom(),
minZoom=that.map_.minZoom||0,
maxZoom=Math.min(that.map_.maxZoom||100,
that.map_.mapTypes[that.map_.getMapTypeId()].maxZoom);
zoom=Math.min(Math.max(zoom,minZoom),maxZoom);
if (that.prevZoom_ != zoom) {
that.prevZoom_ = zoom;
that.resetViewport();
}
});