最近幾天網友都會發現很多網站的( Google 地圖 )都顯示不出來,或則無法動作!
通常站長們都直覺是 "伺服器出了什麼問題?" 或 "被駭客入侵了嗎?" 這種可怕的念頭。其實、免驚啦!昨天我發了一個晚上時間,認真的詳看了 Google Maps API 的說明,原來問題出在 API 第 1 版與 API 第 2 版相容性的差異。
解決的方法如下:
G_SATELLITE_TYPE 改成 G_SATELLITE_MAP
G_MAP_TYPE 改成 G_NORMAL_MAP
G_HYBRID_TYPE 改成 G_HYBRID_MAP
就 OK 啦!
不過還是請看底下的 Google Maps API 詳細介紹:
升級概述
Maps API 第 2 版對前一版本的 API 有 99% 兼容。第 2 版引入了一個新的地圖類 GMap2,包含那些新方法名稱的最新接口。舊的地圖類 GMap 在第 2 版 API 中將繼續存在,並且包含與第 1 版 API 相同的文檔接口。不過,第 2 版 API 中引入的大部分新功能只能在新的 GMap2 地圖接口中運行。
根據這種設計,您有兩種升級方案可供參考:
繼續使用相同的 GMap 接口而不使用第 2 版的新功能。
最快的升級方法是將您的 Maps API〈script〉URL 指向“v=2”而不是原先的“v=1”。因為第 2 版保留了舊的 GMap 接口,您的網站應該不用做其他更改就可以正常運行。不過在實際操作中,您還是應該花點時間來調試一下。請參閱不兼容的地方部分來了解已知的 第 1 版和第 2 版 API 之間不兼容用法的列表,並在您遇到其他問題時加入 Google 地圖 API 討論組。
升級到 GMap2 接口以利用第 2 版的新功能。
要使用第 2 版的新功能,如帶標簽頁的信息窗口和定制地圖控件,應該使用GMap2代替 GMap。首先,升級您的地圖 API "script" URL 指向“v=2”而不是“v=1”,然後根據下面的詳細 GMap2 升級指南來更新您的代碼。
在從 API 第 1 版升級到第 2 版的過程中,我們並沒有保留那些不在文檔之中的函數。我們認為這應該是網站升級到新版 API 的最大障礙。
哪些人需要升級?
每一個使用地圖 API 第 1 版的網站都應該升級。第 2 版對地圖 API 的底層進行了很多重要的更新,而且第 1 版將會在大部分網站更新完成之後關閉。
無論用戶報告的問題多少,第 1 版和第 2 版將會同時運行至少一個月,如果用戶在版本轉換過程中遇到轉換問題很多或者很複雜,我們可能會延長第 1 版的運行時間。之後,第 2 版將成為“默認”的版本,並且所有的網站將自動使用第 2 版。請將您遇到的問題報告到 Google 地圖 API 討論組,在那里有我們的支持人員積極地協助。
第 2 版和第 1 版不兼容的地方
第 2 版和第 1 版的文檔功能中有少量不兼容的地方,包括:
GXslt 瀏覽器支持
GXslt 現在僅支持具有本地 XSLT 支持的瀏覽器。由于 Safari 沒有本地的 XSLT 支持,因此 GXslt 不再支持 Safari。如果支持 Safari 對您的程序非常重要,您可以通過引入 Google 的開源項目 AJAXSLT 庫來重新使 Safari 支持 XSLT。
openInfoWindowXslt() 方法 由于 GXslt 的更改,
GMap 和 GMarker 随之不再支持 openInfoWindowXslt() 方法。
Map 初始化順序 (setMapType)
1.0 版允許您在 centerAndZoom 之前調用 setMapType。2.0 版現在不允許在地圖位置初始化之前調用 setMapType。如果您要升級到 GMap2,我們建議您使用新的 GMap2 的 setCenter 方法來一次初始化地圖的中心點、縮放等級和地圖類型。
不在文檔之中的方法
Maps API 第 2 版更新了整個 API 的核心,因此幾乎所有原先不在文檔之中的方法都不再受支持了。
相關連結:
1. Google Maps API Version 2 Upgrade Guide: http://code.google.com/apis/maps/documentation/upgrade.html#MapTypeNames
2. Google 網上論壇: http://groups.google.com/group/Google-Maps-API/browse_thread/thread/eec00441339c0a52/ccb6653d32510e4d?lnk=raot
3. 全球時區查詢 ( 含 Google 地圖 ): http://time.artjoey.com/
訂閱:
張貼留言 (Atom)
精選文章
解決 MySQL 資料庫插入中文資料時會變成亂碼的問題
MySQL 會出現中文亂碼的原因不外乎下列幾點: MySQL server本身設定問題,例如預設編碼 DEFAULT CHARSET=latin1 MySQL table 的語系設定問題 (包含 character 與 collation (校對)) 客戶端程式(例如 ...
Popular Posts
-
HTML 難免會用到一些特殊符號,有的是程式裡的特殊符號,像是大於、小於符號,如果要顯示出來,就要用特殊的編碼讓它顯示出來。 符號 說明 編碼 符號 說明 編碼 符號 說明 編碼 「 ...
-
MySQL 會出現中文亂碼的原因不外乎下列幾點: MySQL server本身設定問題,例如預設編碼 DEFAULT CHARSET=latin1 MySQL table 的語系設定問題 (包含 character 與 collation (校對)) 客戶端程式(例如 ...
-
今天下午三點多,我太太到國泰世華銀行ATM提領一點現金,是跨行提領從國泰銀行提領京城銀行帳戶的錢,好奇怪顯示金額不足,明明帳戶內還有一萬多元,怎麼會金額不足.... 只好打電話到京城銀行查詢,京城銀行說錢剛剛已經被領走了,只剩一百多元。 國泰世華銀行說他門的ATM系統出了問題...
沒有留言:
張貼留言