2012-07-08 102 views
0

我创建Bing Maps AJAX控件,并始终使用相同的值进行初始化:lat,lng和缩放级别。这是默认的航空地图类型和最大缩放级别。每一次我获得下面的图片:如何刷新Bing Maps AJAX?

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

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

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

不Bing地图AJAX API有相似的地方?

+0

那么为什么不直接切换到Google Maps API呢? (根据我的经验,他们的文档和整体API结构比Bing要好得多) – Kerstomaat 2012-07-08 18:45:39

+0

我只需要他们两个。 – KneLL 2012-07-08 18:55:42

+0

你可能会发布一些你做的代码,并且现场演示([jsFiddle](http://jsfiddle.net/))也非常方便,可以演示这个问题。 – Styxxy 2012-07-08 22:11:08

回答

1

我最近遇到了兵类似的问题映射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的使动作异步)视

  • 我那么当元素进入视口时,为了在每次地图进入视口时触发强制刷新,都会添加一个触发事件的库。