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