主流地圖API比較

  最近因爲工作關係,對市面上主流的地圖API都進行了一遍瞭解,現把文檔同大家共享一下。我們對市面上幾款主流的地圖API服務提供商:Google地圖服務,MapABC地圖服務,微軟地圖服務,以及其他地圖服務進行技術調研,根據調研總結結果爲我們選用更爲符合需求的地圖服務提供商提供參考。
  本次技術調研內容主要爲:
  1. 各類MAP-API使用方法。MAP-API針對系統的開發效率的調查,比如在使用的合理性,封裝的便利性幾個方面。
  2. 各類MAP-API的功能初步調研,各類MAP-API在免費版本中的功能限制調研,針對免費和收費版本的異同,收費策略和價格
  3. 針對每種MAP-API以免費版本的API完成一個簡單的調用示例,也便於對每種API進行代碼級別的使用體驗。
  2.1.1. 主要使用方法介紹和評估:
  Google Map API的種類和應用場景:
  A. Google JavaScript地圖API : 內嵌Iframe展現形式,適用於一般的互聯網應用系統,具有標準主流瀏覽器裝載的客戶端系統。支持的瀏覽器類型:ie,firefox,safari,google chrome。使用標準的Java腳本進行開發,可集成google地圖空間,與標準google地圖功能類似。
  B. Google Maps API(Flash版):FLASH展現形式,使用flex繼續開發,適用於標準瀏覽器裝載的客戶端系統。'
  C. Google 靜態地圖API: 圖片:圖片展現形式,使用http接口進行圖片地圖的創建,所實現功能較前兩種少,但無需使用java腳本實現,適用於手機或定製化客戶端系統的服務調用。靜態地圖和前兩種地圖相比還有個遵從每位查看者每天的唯一(不同)圖像請求不超過 1000 次的查詢限制配額,也就是說每個訪問者每天可以查看1000個不同的地圖圖片,對於相同的圖片沒有限制,所以考慮到一般系統的訪問量,此配合即可滿足大部分系統的要求。
  評估:
  Google提供的這三種API已經基本可以滿足大部分的系統需求,在開發難度上除Flex還不是主流技術,開發成本較高外,其他兩種技術在使用上都使用標準的網頁開發技術,接口難度係數不大,尤其是在靜態地圖API中,還提供了專門爲手機所使用的WAP的地圖類型.
  2.12. API主要特性列表以及版本功能限制:
  Google Map API的主要特性列表:
  A. 地址解析(從地址名稱解析到具體經緯度)
  B. 縮放級別的設置
  C. 圖像大小的設置
  D. 標記添加
  E. 地圖路徑顯示
  (以上爲靜態地圖和動態地圖共有,以下爲動態地圖獨有)
  F.事件監聽(監聽客戶端瀏覽器事件,並在需要接受的事件總定義處理方法)
  G.. 地圖控件(包括加載標準地圖控件以及創建自定義控件,比如可以自己加入標註的控件,切換地圖類型的控件,縮放地圖的控件等等)
  H. 街道全景對象
  I. 與google earth集成
  J. 交通功能(行車路線,出行模式,路線路段)
  K.可與Google AJAX API 集成開發,提高開發效率
  L. 支持HTTPS連接對API的訪問(企業版專有)
  2.1.3.收費策略和商業限制:
  Google Maps Api分爲兩個版本,一個是免費版,一個是企業版。
  免費版不對使用者進行收費,但是對使用場景有一定的商業限制:
  A. 每天可發出的地址解析請求數有限制,遵從每位查看者每天的唯一(不同)圖像請求不超過 1000 次的查詢限制配額。
  B. 服務必須讓最後的使用者免費訪問。所以部分商業用途是符合使用條款的,以下兩種情況不能使用免費版:(1)僅付費客戶可以使用您的網站(2)僅可從您的公司或您的 Intranet 中訪問您的網站。詳見google api的使用條款
  Google Code上有很多map api的示例,講解的十分全面,這裏就不多說了。
  總結:Google api 優勢:充足的開發資源和文檔資源,與google map平行的api功能,強大的自定義組件和控件功能。在靜態API中有針對mobile類型系統的地圖類型,API操作簡單高效,符合一般性系統開發需求。
  2.2.1. 主要使用方法介紹和評估:
  Map ABC API的種類和應用場景:
  A. Ajax For Flash 地圖API2&Ajax搜索API : MapABC只有一種API類型,就是基於java腳本技術的內嵌Flash地圖展現形式,適用於一般的互聯網應用系統,具有標準主流瀏覽器裝載的客戶端系統。支持的瀏覽器類型:因爲官方未公佈所支持的瀏覽器類型,所以本次調研測試了ie,firefox基本沒有問題,由於MAPABC使用的地圖展現載體是flash,所以理論上所有支持flash格式和Javascript的瀏覽器都可以使用。
  B. MAP ABC 靜態API:通過JAVA腳本進行靜態地圖的生成,主要應用場景在需要加快地圖加載,只是示意性進行地圖展示的系統中調用。
  C. MAP ABC 地圖組件API:在原有API的基礎上進行封裝,簡化了開發複雜度,提高了開發效率。
  評估:
  MAP ABC接口全部採用java腳本進行調用,腳本使用比較方便,但是生成的地圖格式爲flash格式,暫不支持其他格式的地圖。至少目前爲止廠商在免費版本還未提供基於服務端接口的地圖生成的API,企業版是單獨提供此類接口的。目前來看MAPABC API還是着重於地圖WEB端的展示作用,從這點來看,比Google的免費版弱一些。
  2.2.2. API主要特性列表以及版本功能限制:
  MAP ABC API的主要特性列表:
  A. 縮放級別的設置
  B. 圖像大小的設置
  C. 標記添加
  D. 地圖路徑顯示
  F.事件監聽(監聽客戶端瀏覽器事件,並在需要接受的事件總定義處理方法)
  G.. 地圖搜索功能(地點搜索,公交路線搜索,行車路線搜索)
  H. 地圖繪圖工具集成
  I. 地圖控制面板
  J. 靜態地圖生成功能
  K. 地圖組件封裝
  2.2.3.收費策略和商業限制:
  MapABC Api分爲兩個版本,一個是公衆版,一個是企業版。
  免費版不對使用者進行收費,但是對使用場景有一定的商業限制:
  A. 使用Map ABC API服務,網站系統所提供給用戶的服務必須是開放給一般大衆使用且免費的服務詳見map abc api的API使用條款。
  B. 不能更改或遮蓋地圖上的徽標或歸屬內容。
  企業版除具有公衆版版的所有功能外,還會增加一些定製服務和技術支持服務。這些增強點爲:
  D. 專業開發團隊的開發服務
  E. 從前臺界面到後臺功能的定製開發
  F. 有針對性的MapABC地圖API開發培訓
  G. 快速響應的技術支持。
  2.2.4.技術支持:
  免費版的技術支持包括MAP ABC網站文檔以及MAP ABC 地圖API論壇的支持。
  企業版除上述支持外還有人工的客戶服務支持。
  2.2.5 MAPABC API 的使用
  爲了正常使用MAPABC API,在進行開發之前需要在其項目主頁上
  http://code.mapabc.com/v1/signup.shtml 下載API所需的密鑰。
  示例程序可見其網站。
  以上我們對國內國外兩種主流的地圖服務進行了技術調研,除此之外,市面上還有一些其他的地圖API,比如51tidu,yahoo地圖API,微軟Virtual Earth API,MAPBAR 等。
  51ditu和Mapbar同MapABC類似,都是國產地圖服務,其特點同MapABC類似,主要是不支持靜態地圖的服務端調用,全JAVAscript的調用方式,在WEB上調用方便,但接口靈活性差,並不合適WAP網站的開發。
  Yahoo 的地圖接口功能與Google類似,接口類型相比google更爲方便和靈活,但是目前雅虎地圖API服務還不支持中國地圖,所以目前暫不考慮。如果以後開放了中國區地圖,Yahoo API 也是值得考慮的選擇。目前Yahoo地圖支持靜態地圖生成,同時每日的同一ip的訪問限制爲50000次.
  微軟地圖virtual map api功能較爲全面,接口設計靈活性與可封裝性也很好,同樣支持靜態地圖服務端生成,藉助微軟的MSDN社區的支持下,開發資源和文檔也堪比Google Maps,但是由於此產品是微軟自有服務,保持微軟一貫的風格,virtual map 官方稱只支持ie6/ie7,另外在調用速度上個人感覺比Google API 也略遜一籌。同時在本次調研時,微軟的live.cn因爲某些原因被GFW封掉了,因此同樣影響到了微軟地圖API服務ditu.live.com, 類似的事件希望以後還是少發生爲妙。
  大家根據初次調研比較結果,我們得到了以上的數據,目前相比較來看,從功能上和訪問速度上,以及各種資源的限制結合考慮,目前符合較爲符合目前我們技術需求的是 Google Maps API。它擁有強大的功能和較少的資源限制。
  本次只是做了簡單的調研,結果不一定完全準確。只是給大家一個參考,大家在選擇和使用地圖的API上還是根據自己的需求進行選擇,複雜度不高的話,可以選擇免費的國外廠商的API,如果是複雜的企業應用,也可以選擇服務和支持力度較好的國內廠商的API及他們的定製服務。有機會我會將以上提到的API一一詳細介紹。
  以上爲個人不完全調查結果,僅供參考。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章