主流地圖API比較
最近因?yàn)楣ぷ麝P(guān)系,對(duì)市面上主流的地圖API都進(jìn)行了一遍了解,現(xiàn)把文檔同大家共享一下。我們對(duì)市面上幾款主流的地圖 API 服務(wù)提供商: Google 地圖服務(wù), MapABC 地圖服務(wù),微軟地圖服務(wù),以及其他地圖服務(wù)進(jìn)行技術(shù)調(diào)研,根據(jù)調(diào)研總結(jié)結(jié)果為我們選用更為符合需求的地圖服務(wù)提供商提供參考。
1. 調(diào)研內(nèi)容計(jì)劃
本次技術(shù)調(diào)研內(nèi)容主要為:
1. 各類(lèi) MAP-API 使用方法 。 MAP-API 針對(duì)系統(tǒng)的開(kāi)發(fā)效率的調(diào)查,比如在使用的合理性,封裝的便利性幾個(gè)方面。
2. 各類(lèi) MAP-API 的功能初步調(diào)研,各類(lèi) MAP-API 在免費(fèi)版本中的功能限制調(diào)研,針對(duì)免費(fèi)和收費(fèi)版本的異同,收費(fèi)策略和價(jià)格
3. 針對(duì)每種 MAP-API 以免費(fèi)版本的 API 完成一個(gè)簡(jiǎn)單的調(diào)用示例,也便于對(duì)每種 API 進(jìn)行代碼級(jí)別的使用體驗(yàn)。
2. 調(diào)研詳細(xì)內(nèi)容
2.1 GOOGLE MAP API 調(diào)研
2.1.1 . 主要使用方法介紹和評(píng)估:
Google Map API 的種類(lèi)和應(yīng)用場(chǎng)景:
A. Google JavaScript 地圖 API : 內(nèi)嵌 Iframe 展現(xiàn)形式,適用于一般的互聯(lián)網(wǎng)應(yīng)用系統(tǒng),具有標(biāo)準(zhǔn)主流瀏覽器裝載的客戶(hù)端系統(tǒng)。支持的瀏覽器類(lèi)型: ie , firefox , safari , google chrome 。使用標(biāo)準(zhǔn)的 Java 腳本進(jìn)行開(kāi)發(fā),可集成 google 地圖空間,與標(biāo)準(zhǔn) google 地圖功能類(lèi)似。
B. Google Maps API(Flash 版 ) : FLASH 展現(xiàn)形式,使用 flex 繼續(xù)開(kāi)發(fā),適用于標(biāo)準(zhǔn)瀏覽器裝載的客戶(hù)端系統(tǒng)。‘
C. Google 靜態(tài)地圖 API: 圖片:圖片展現(xiàn)形式,使用 http 接口進(jìn)行圖片地圖的創(chuàng)建,所實(shí)現(xiàn)功能較前兩種少,但無(wú)需使用 java 腳本實(shí)現(xiàn),適用于手機(jī)或定制化客戶(hù)端系統(tǒng)的服務(wù)調(diào)用。靜態(tài)地圖和前兩種地圖相比還有個(gè)遵從每位查看者每天的唯一(不同)圖像請(qǐng)求不超過(guò) 1000 次的查詢(xún)限制配額,也就是說(shuō)每個(gè)訪問(wèn)者每天可以查看 1000 個(gè)不同的地圖圖片,對(duì)于相同的圖片沒(méi)有限制,所以考慮到一般系統(tǒng)的訪問(wèn)量,此配合即可滿足大部分系統(tǒng)的要求。
評(píng)估:
Google 提供的這三種 API 已經(jīng)基本可以滿足大部分的系統(tǒng)需求,在開(kāi)發(fā)難度上除 Flex 還不是主流技術(shù),開(kāi)發(fā)成本較高外,其他兩種技術(shù)在使用上都使用標(biāo)準(zhǔn)的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),接口難度系數(shù)不大,尤其是在靜態(tài)地圖 API 中,還提供了專(zhuān)門(mén)為手機(jī)所使用的 WAP 的地圖類(lèi)型.
2.12. API 主要特性列表以及版本功能限制:
Google Map API 的主要特性列表:
A. 地址解析(從地址名稱(chēng)解析到具體經(jīng)緯度)
B. 縮放級(jí)別的設(shè)置
C. 圖像大小的設(shè)置
D. 標(biāo)記添加
E. 地圖路徑顯示
(以上為 靜態(tài)地圖 和動(dòng)態(tài)地圖 共有,以下為 動(dòng)態(tài)地圖 獨(dú)有)
F .事件監(jiān)聽(tīng)(監(jiān)聽(tīng)客戶(hù)端瀏覽器事件,并在需要接受的事件總定義處理方法)
G.. 地圖控件(包括加載標(biāo)準(zhǔn)地圖控件以及創(chuàng)建自定義控件,比如可以自己加入標(biāo)注的控件,切換地圖類(lèi)型的控件,縮放地圖的控件等等)
H. 街道全景對(duì)象
I. 與 google earth 集成
J. 交通功能(行車(chē)路線,出行模式,路線路段)
K. 可與 Google AJAX API 集成開(kāi)發(fā),提高開(kāi)發(fā)效率
L. 支持 HTTPS 連接對(duì) API 的訪問(wèn)(企業(yè)版專(zhuān)有)
2.1.3 . 收費(fèi)策略和商業(yè)限制:
Google Maps Api 分為兩個(gè)版本,一個(gè)是免費(fèi)版,一個(gè)是企業(yè)版。
免費(fèi)版不對(duì)使用者進(jìn)行收費(fèi),但是對(duì)使用場(chǎng)景有一定的商業(yè)限制:
A. 每天可發(fā)出的地址解析請(qǐng)求數(shù)有限制,遵從每位查看者每天的唯一(不同)圖像請(qǐng)求不超過(guò) 1000 次的查詢(xún)限制配額。
B. 服務(wù)必須讓最后的使用者免費(fèi)訪問(wèn)。所以部分商業(yè)用途是符合使用條款的,以下兩種情況不能使用免費(fèi)版:( 1 )僅付費(fèi)客戶(hù)可以使用您的網(wǎng)站( 2 )僅可從您的公司或您的 Intranet 中訪問(wèn)您的網(wǎng)站。 詳見(jiàn) google api 的 使用條款
C. 不能更改或遮蓋地圖上的徽標(biāo)或歸屬內(nèi)容。
企業(yè)版除具有免費(fèi)版的所有功能外,還會(huì)根據(jù)收費(fèi)策略的不同,加強(qiáng)服務(wù)功能的提升并更改了一些商業(yè)限條款。這些增強(qiáng)點(diǎn)為:
A. 支持強(qiáng)大的服務(wù)級(jí)別協(xié)議( SLA )
B. 客戶(hù)服務(wù)支持
C. 增加了地址解析限制
D. 商業(yè)級(jí)應(yīng)用限制的變更
E. 支持 HTTPS 連接對(duì) API 進(jìn)行訪問(wèn),達(dá)到數(shù)據(jù)保密的目的。
2.1.4 . 技術(shù)支持:
免費(fèi)版的技術(shù)支持包括 google code 的專(zhuān)業(yè)詳細(xì)的開(kāi)發(fā)文檔和 google 地圖 API 論壇的支持。
企業(yè)版除上述支持外還有人工的客戶(hù)服務(wù)支持。
2.1.5. Google MAP API 使用 :
為了正常使用 google API ,在進(jìn)行開(kāi)發(fā)之前需要在其項(xiàng)目主頁(yè)上
http://code.google.com/intl/zh-CN/apis/maps/ 下載 API 所需的密鑰。
Google Code上有很多map api的示例,講解的十分全面,這里就不多說(shuō)了。
總結(jié): Google api 優(yōu)勢(shì): 充足的開(kāi)發(fā)資源和文檔資源,與 google map 平行的 api 功能,強(qiáng)大的自定義組件和控件功能。在靜態(tài) API 中有針對(duì) mobile 類(lèi)型系統(tǒng)的地圖類(lèi)型, API 操作簡(jiǎn)單高效,符合一般性系統(tǒng)開(kāi)發(fā)需求。
2.2 MAP ABC API 調(diào)研
2.2.1 . 主要使用方法介紹和評(píng)估:
Map ABC API 的種類(lèi)和應(yīng)用場(chǎng)景:
A. Ajax For Flash 地圖 API2&Ajax 搜索 API : MapABC 只有一種 API 類(lèi)型,就是基于 java 腳本技術(shù)的內(nèi)嵌 Flash 地圖展現(xiàn)形式,適用于一般的互聯(lián)網(wǎng)應(yīng)用系統(tǒng),具有標(biāo)準(zhǔn)主流瀏覽器裝載的客戶(hù)端系統(tǒng)。支持的瀏覽器類(lèi)型:因?yàn)楣俜轿垂妓С值臑g覽器類(lèi)型,所以本次調(diào)研測(cè)試了 ie , firefox 基本沒(méi)有問(wèn)題,由于 MAPABC 使用的地圖展現(xiàn)載體是 flash ,所以理論上所有支持 flash 格式和 Javascript 的瀏覽器都可以使用。
B. MAP ABC 靜態(tài) API :通過(guò) JAVA 腳本進(jìn)行靜態(tài)地圖的生成,主要應(yīng)用場(chǎng)景在需要加快地圖加載,只是示意性進(jìn)行地圖展示的系統(tǒng)中調(diào)用。
C. MAP ABC 地圖組件 API :在原有 API 的基礎(chǔ)上進(jìn)行封裝,簡(jiǎn)化了開(kāi)發(fā)復(fù)雜度,提高了開(kāi)發(fā)效率。
評(píng)估:
MAP ABC 接口全部采用 java 腳本進(jìn)行調(diào)用,腳本使用比較方便,但是生成的地圖格式為 flash 格式,暫不支持其他格式的地圖。至少目前為止廠商在免費(fèi)版本還未提供基于服務(wù)端接口的地圖生成的 API ,企業(yè)版是單獨(dú)提供此類(lèi)接口的。目前來(lái)看 MAPABC API 還是著重于地圖 WEB 端的展示作用,從這點(diǎn)來(lái)看,比Google的免費(fèi)版弱一些。
2.2.2 . API 主要特性列表以及版本功能限制:
MAP ABC API 的主要特性列表:
A. 縮放級(jí)別的設(shè)置
B. 圖像大小的設(shè)置
C. 標(biāo)記添加
D. 地圖路徑顯示
F .事件監(jiān)聽(tīng)(監(jiān)聽(tīng)客戶(hù)端瀏覽器事件,并在需要接受的事件總定義處理方法)
G.. 地圖搜索功能(地點(diǎn)搜索,公交路線搜索,行車(chē)路線搜索)
H. 地圖繪圖工具集成
I. 地圖控制面板
J. 靜態(tài)地圖生成功能
K. 地圖組件封裝
2.2.3 . 收費(fèi)策略和商業(yè)限制:
MapABC Api 分為兩個(gè)版本,一個(gè)是公眾版,一個(gè)是企業(yè)版。
免費(fèi)版不對(duì)使用者進(jìn)行收費(fèi),但是對(duì)使用場(chǎng)景有一定的商業(yè)限制:
A. 使用 Map ABC API 服務(wù),網(wǎng)站系統(tǒng)所提供給用戶(hù)的服務(wù)必須是開(kāi)放給一般大眾使用且免費(fèi)的服務(wù) 詳見(jiàn) map abc api 的 API使用條款 。
B. 不能更改或遮蓋地圖上的徽標(biāo)或歸屬內(nèi)容。
企業(yè)版除具有公眾版版的所有功能外,還會(huì)增加一些定制服務(wù)和技術(shù)支持服務(wù)。這些增強(qiáng)點(diǎn)為:
D. 專(zhuān)業(yè)開(kāi)發(fā)團(tuán)隊(duì)的開(kāi)發(fā)服務(wù)
E. 從前臺(tái)界面到后臺(tái)功能的定制開(kāi)發(fā)
F. 有針對(duì)性的 MapABC 地圖 API 開(kāi)發(fā)培訓(xùn)
G. 快速響應(yīng)的技術(shù)支持。
2.2.4 . 技術(shù)支持:
免費(fèi)版的技術(shù)支持包括 MAP ABC 網(wǎng)站文檔以及 MAP ABC 地圖 API 論壇的支持。
企業(yè)版除上述支持外還有人工的客戶(hù)服務(wù)支持。
2.2.5 MAPABC API 的使用
為了正常使用 MAPABC API ,在進(jìn)行開(kāi)發(fā)之前需要在其項(xiàng)目主頁(yè)上
http://code.mapabc.com/v1/signup.shtml 下載 API 所需的密鑰。
示例程序可見(jiàn)其網(wǎng)站。
2.3 其他地圖服務(wù) API 調(diào)研總結(jié)
以上我們對(duì)國(guó)內(nèi)國(guó)外兩種主流的地圖服務(wù)進(jìn)行了技術(shù)調(diào)研,除此之外,市面上還有一些其他的地圖 API ,比如 51tidu , yahoo 地圖 API ,微軟 Virtual Earth API , MAPBAR 等。
51ditu 和 Mapbar 同 MapABC 類(lèi)似,都是國(guó)產(chǎn)地圖服務(wù),其特點(diǎn)同 MapABC 類(lèi)似,主要是不支持靜態(tài)地圖的服務(wù)端調(diào)用,全 JAVAscript 的調(diào)用方式,在 WEB 上調(diào)用方便,但接口靈活性差,并不合適 WAP 網(wǎng)站的開(kāi)發(fā)。
Yahoo 的地圖接口功能與 Google 類(lèi)似,接口類(lèi)型相比 google 更為方便和靈活,但是目前雅虎地圖 API 服務(wù)還不支持中國(guó)地圖,所以目前暫不考慮。如果以后開(kāi)放了中國(guó)區(qū)地圖, Yahoo API 也是值得考慮的選擇。目前 Yahoo 地圖支持靜態(tài)地圖生成,同時(shí)每日的同一 ip 的訪問(wèn)限制為 50000 次 .
微軟地圖 virtual map api 功能較為全面,接口設(shè)計(jì)靈活性與可封裝性也很好,同樣支持靜態(tài)地圖服務(wù)端生成,借助微軟的 MSDN 社區(qū)的支持下,開(kāi)發(fā)資源和文檔也堪比 Google Maps ,但是由于此產(chǎn)品是微軟自有服務(wù),保持微軟一貫的風(fēng)格, virtual map 官方稱(chēng) 只支持 ie6/ie7, 另外在調(diào)用速度上個(gè)人感覺(jué)比 Google API 也略遜一籌。同時(shí)在本次調(diào)研時(shí),微軟的 live.cn 因?yàn)槟承┰虮?GFW 封掉了,因此同樣影響到了微軟地圖 API 服務(wù) ditu.live.com, 類(lèi)似的事件希望以后還是少發(fā)生為妙。
3 總結(jié)
大家根據(jù)初次調(diào)研比較結(jié)果,我們得到了以上的數(shù)據(jù),目前相比較來(lái)看,從功能上和訪問(wèn)速度上,以及各種資源的限制結(jié)合考慮,目前符合較為符合目前我們技術(shù)需求的是 Google Maps API 。它擁有強(qiáng)大的功能和較少的資源限制。
本次只是做了簡(jiǎn)單的調(diào)研,結(jié)果不一定完全準(zhǔn)確。只是給大家一個(gè)參考,大家在選擇和使用地圖的API上還是根據(jù)自己的需求進(jìn)行選擇,復(fù)雜度不高的話,可以選擇免費(fèi)的國(guó)外廠商的API,如果是復(fù)雜的企業(yè)應(yīng)用,也可以選擇服務(wù)和支持力度較好的國(guó)內(nèi)廠商的API及他們的定制服務(wù)。有機(jī)會(huì)我會(huì)將以上提到的API一一詳細(xì)介紹。
以上為個(gè)人不完全調(diào)查結(jié)果,僅供參考。
posted on 2010-03-04 15:40 小飛哥 閱讀(728) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): 隨心所欲