2012-07-08 106 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的使動作異步)視

  • 我那麼當元素進入視口時,爲了在每次地圖進入視口時觸發強制刷新,都會添加一個觸發事件的庫。