Feed on
Posts
Comments
Email訂閱

由於google map api v2將在2013.5月不再作用(?),所以必須提前將google map api升級到v3。不過升級不只是單單把引入的js換個版本參數而已,而是必須要改寫許多程式碼,主要是v3已經把v3裡面許多class廢棄了,連name space也換了。改程式碼過程中雖然遇到一些阻礙,但是按照google提供的改版步驟,並參考v3 api document,以及搜尋網路上的資料,再把markmanager 換成新版之後,大致上都能解決。目前唯一不能克服的是infowindow,右上角的close按下去沒有作用(發現是自己參數給錯,2013.1.16);而且也不能如同舊版的,按infowindow之外的地方可把infowindow關掉。

2013.1.16 Markmanager原本放在gmap來當作data member初始化在IE與chrome會有問題。必須提出來當作global variable宣告,且必須等到載入完成之後才能開始做動作,否則會無法執行。如:

google.maps.event.addListener(mgr, 'loaded', function(){
mgr.addMarkers(getMarkers(1000), 8);
mgr.refresh();
});

2013.1.30 v3 少了v2 的 distanceFrom,解決方式可參考:http://studiowhiz.com/2010/10/02/google-maps-v3-distancefrom/

參考資料:

  1. Upgrading Your Google Maps JavaScript Application To v3
  2. Google Maps Javascript API V3 Reference
  3. google maps api v3 multiple markers multipleinfowindows
  4. Marker Manager Examples

 

留言區