0

我创建 Bing Maps AJAX 控件并始终使用相同的值对其进行初始化:lat、lng 和缩放级别。这是默认的航空地图类型和最大缩放级别。每次我得到以下图像时:

http://i50.tinypic.com/acturr.jpg

没有记录的方法(或没有)来刷新当前区域,所以我应该每次都使用鼠标进行缩小和放大,这很烦人。对于谷歌地图,我发现了一个有用的技巧:

google.maps.event.trigger(this.map, 'resize');

Bing Maps AJAX API 有类似的东西吗?

4

1 回答 1

1

我最近在 Bing 地图 AJAX V7 上遇到了类似的问题:

在某些浏览器上(主要在 Chrome 上),如果视口上不存在地图(您必须滚动才能到达它),则它会不正确地初始化。我已经向 MSDN 报告了这个问题,但没有得到任何有用的答案:https ://social.msdn.microsoft.com/Forums/en-US/439c33bc-a1ed-4e74-a019-f7fecb809030/scroll-issue-on- chrome-with-ajax-v7-control

为了解决这个问题,我使用了两件事:

  • 首先,我必须找到一种方法来强制 Bing 地图刷新(在互联网上没有找到任何解决方案,也没有找到这样做的对象方法)。经过大量测试,我得出了一个解决方案:

    map.setMapType(Microsoft.Maps.MapTypeId.mercator);
    setTimeout(function(){map.setMapType(Microsoft.Maps.MapTypeId.auto);}, 1)
    

    实际上,将视口更改为“墨卡托”,然后再变回另一个会强制地图刷新(setTimeout 使操作异步)

  • 然后我添加了一个在元素进入视口时触发事件的库,以便在每次地图进入视口时触发强制刷新
于 2015-01-19T12:31:49.833 回答