前天周六,有個(gè)好友過(guò)來(lái)玩,他說(shuō)想在他的網(wǎng)站中加入地圖導(dǎo)航模塊,但不知道選擇哪個(gè)第三方Map API
在網(wǎng)上查了下Baidu、Google、QQ和MapBar等4種Map API(都是采用JS開放API),也查看了它們的SDK開發(fā)文檔,談?wù)勛约旱捏w會(huì)
Map API文檔
BMap API (Baidu)與 google.maps API (Google)文檔相對(duì)最完備、詳盡、簡(jiǎn)潔,并且給出了很多學(xué)習(xí)示例,非常適合初學(xué)者入門學(xué)習(xí)、應(yīng)用開發(fā)
QMap API (QQ)與 MapBar API (MapBar)文檔雖然也比較完備,但示例與代碼分開了,不能很好所見即所得的體現(xiàn)代碼與效果相關(guān)性
Map 功能推薦
BMap API和Google.maps API,應(yīng)該就可以滿足絕大部分需求
就易用性和色彩柔和性,推薦BMap API(Baidu)
就精確性和世界地圖,推薦Google.maps API(Google)
精確性:
Baidu BMap提供小數(shù)點(diǎn)后六位的精度,如:(116.397128, 39.916527);
Google google.maps則提供小數(shù)點(diǎn)后14位的精度 ,如:紐約(40.69847032728747, -73.9514422416687)
世界性:
Baidu BMap僅提供中國(guó)區(qū)域,也包括港、澳,但目前還不包含臺(tái)灣(可能百度日本分公司的地圖中含有臺(tái)灣);
Google google.maps則提供全球區(qū)域的地圖(支持本地化語(yǔ)言)
3D效果:
Baidu BMap目前僅提供中國(guó) 幾個(gè) 大城市3D地圖(如北、上、廣和深圳)
Google google.maps則支持大部分國(guó)家的車載導(dǎo)航 3D地圖 (在中國(guó)僅支持部分城市,如上海)
API風(fēng)格:
BMap API和google.maps的API接口略有不同,BMap模塊化分層設(shè)計(jì)更加獨(dú)立;兩者的API風(fēng)格,可以代表其它幾款開放的Map API風(fēng)格
QMap API與google.maps API接口的風(fēng)格很類似,MapBar API與BMap API接口風(fēng)格則很雷同,甚至有些函數(shù)接口名都相同,如 centerAndZoom
兼容性:
上面四款地圖API,都采用js實(shí)現(xiàn)訪問(wèn)調(diào)用,因此對(duì)瀏覽器兼容性非常重要
BMap API:
支持IE6.0+、Chrome、FF 3.0+、Opera 9.0+、Safari 3.0+,以及國(guó)內(nèi)主要瀏覽器,如遨游、360、QQ、Baidu、世界之窗等瀏覽器,兼容性較好
google.maps API: 支持 W3C標(biāo)準(zhǔn) (官方?jīng)]明確給出兼容的相關(guān)瀏覽器),且在在支持定位功能的瀏覽器上,可以調(diào)用 google Geolocation API (智能手機(jī)上應(yīng)用廣泛)
注: 據(jù)了解,google map今年還暫未拿到在中國(guó)大陸的經(jīng)營(yíng)許可證,因此其地圖訪問(wèn)服務(wù)有時(shí)會(huì)被GFW屏蔽掉,甚至不可用
簡(jiǎn)單對(duì)比
BMap API(Baidu)和google.maps API(Google)——都是以“”為參照系原點(diǎn)
BMap API(Baidu)
效果圖如下:
google.maps API(Google)
效果圖如下:
另兩大巨頭的Map API(Bing與Yahoo!)
Bing Map API : 基于 Virtual Earth的API,js接口調(diào)用,目前只有英文版(暫沒找到中文版)
Yahoo! Map API : 提供 Flash , Ajax and Map Image APIs ,js接口調(diào)用,目前也只有英文版 (暫沒找到中文版)
注: 在 Yahoo! Map API 看到,好像 其 要在2011年9月13號(hào)關(guān)閉Map API服務(wù),建議用戶轉(zhuǎn)到其合作伙伴 Ovi Maps API (Nokia)
We are shutting down this service on September 13, 2011. We suggest using maps from our partner Nokia. Please visit the
Ovi Maps
API
for more information.
背后的故事
MapBar : 國(guó)內(nèi)地圖提供商, 早期與百度合作, BMap API采用的便是MapBar,因此它們的API接口有些雷同(上面我已舉例)
MapABC : 國(guó)內(nèi)地圖提供商,早期與Google合作,google.maps API起初采用MapABC,后來(lái)google做的更好、更靈活
51Map : 國(guó)內(nèi)地圖提供商,特色服務(wù)是提供地圖下載,可以實(shí)現(xiàn)本地桌面地圖(類似手機(jī)上的凱立德3D地圖)
總體感覺,各家Map API各有千秋,BMap API和google.maps API從開放、維護(hù)等角度,代表Map API兩大主流,可以滿足絕大部分用戶需求
QMap API和MapBar API都是后起之秀,專注技術(shù)的同時(shí),也可以優(yōu)化、增加一些API文檔,畢竟開放API就是為了讓更多的人去使用嘛
IT技術(shù)需要競(jìng)爭(zhēng),因?yàn)楦?jìng)爭(zhēng),所以創(chuàng)新;因?yàn)閯?chuàng)新,所以開放;因?yàn)殚_放,所以進(jìn)步,祝愿中國(guó)IT領(lǐng)域不斷創(chuàng)新、 開放、 進(jìn)步、超越
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
