gpt4 book ai didi

javascript - MarkerClusterer 缩放问题

转载 作者:行者123 更新时间:2023-11-30 13:07:38 25 4
gpt4 key购买 nike

我将最新版本的 MarkerClusterer 与 Google Maps API v3 一起使用,我想我发现了一个错误!

我的谷歌地图 minZoom 设置为 1。从级别 1 向下缩放到任何级别并返回到 1 就可以了。当我尝试从级别 1 缩小到级别 0 时,会看到该错误。

当我单击以从级别 1 缩小到级别 0 时,gMap UI 不允许按预期进行缩放,但是我所有的标记簇都消失了,当我下降到缩放级别 2 并返回时,它们会重新出现到 1 级。

我已将此发布到 Google Maps API v3 的 Google Group 页面上,但到目前为止还没有任何回复(截至今天已经一周多了)。

非常感谢任何帮助!

最佳答案

与其说是 markerClusterer 中的错误,不如说是 Maps-API 中的错误,但您可以在 markerClusterer.js 中修复它

当您(尝试)将缩放设置为 0 时,我不确定您点击的位置(当我使用缩放控件时不会出现这个问题),但是当我使用设置缩放时会发生这种情况map.setZoom(0)

问题:API 报告缩放为 0,但这是不正确的,因为缩放将设置为 1(最小缩放)。

修复:
替换 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();
}
});

关于javascript - MarkerClusterer 缩放问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15098796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com