javascript map.setZoom()不工作,但map.setCenter()工作正常

cld4siwp  于 2023-01-07  发布在  Java
关注(0)|答案(4)|浏览(207)

我的部分代码如下所示,我可以使用

map.setCenter(myLatlng);

但之后我会尝试缩放Map

marker_id = id;
marker_id = new google.maps.Marker();

marker_id.setIcon(image);
myLatlng = new google.maps.LatLng(loctionupdateobj[id].lat, loctionupdateobj[id].lang);
marker_id.setPosition(myLatlng);        
marker_id.setMap(map);      

map.setCenter(myLatlng);

alert(map.getZoom());
map.setZoom(10);
alert("game again " + map.getZoom())

你可以看到

alert("game again " + map.getZoom())

在代码中,它给了我一个类似game again 10的警报,但缩放级别永远不会到10
但第一个警报是4(我在初始化时设置的)。
由于我不能setZoom,所以每次添加新标记时都会创建一个新的Map示例。

m1m5dgzv

m1m5dgzv1#

要解决这个问题,你可以尝试在Map上绘制完所有标记之后调用setZoom方法,并且调用了所有其他方法,如setCenter、bounds.extend。因此,你必须在最后一个标记函数中调用setZoom方法。

kognpnkq

kognpnkq2#

终于找到了!!!以前编写我的项目的程序员写了一行字

google.maps.event.clearListeners(map);
klh5stk1

klh5stk13#

第二个警报是返回10,第一个警报是什么,这也是10吗?
如果是这样,你的变焦已经是10(对不起,如果这是一个愚蠢的问题,但没有提到这一点)。

jfewjypa

jfewjypa4#

我的Map使用API并正在寻找一个位置。我首先用zoom : 23初始化我的Map。
一旦我搜索并提交我的位置,Map默认为原来的缩放。所以我不得不使用X11 M1 N1 X,它一开始是工作的,然后就停止了。
这很奇怪,因为map.fitBounds()工作得很完美。

setTimeout(function(){
      map.setZoom(23);                
      console.log('zoomed');
  },1);

我的肮脏的解决方案。_()_/

相关问题