BMap API(Baidu)與google.maps API(Google)

Map API文檔


BMap API(Baidu)與google.maps API(Google)文檔相對最完備、詳盡、簡潔,並且給出了很多學習示例,非常適合初學者入門學習、應用開發


QMap API(QQ)與MapBar API(MapBar)文檔雖然也比較完備,但示例與代碼分開了,不能很好所見即所得的體現代碼與效果相關性






Map 功能推薦


BMap API和Google.maps API,應該就可以滿足絕大部分需求


就易用性和色彩柔和性,推薦BMap API(Baidu)


就精確性和世界地圖,推薦Google.maps API(Google)


精確性:


Baidu BMap提供小數點後六位的精度,如:天安門(116.397128, 39.916527);


Google google.maps則提供小數點後14位的精度,如:紐約(40.69847032728747, -73.9514422416687)


世界性:


Baidu BMap僅提供中國區域,也包括港、澳,但目前還不包含臺灣(可能百度日本分公司的地圖中含有臺灣);


Google google.maps則提供全球區域的地圖(支持本地化語言)


3D效果:


Baidu BMap目前僅提供中國幾個大城市3D地圖(如北、上、廣和深圳)


Google google.maps則支持大部分國家的車載導航3D地圖(在中國僅支持部分城市,如上海)


API風格:


BMap API和google.maps的API接口略有不同,BMap模塊化分層設計更加獨立;兩者的API風格,可以代表其它幾款開放的Map API風格


QMap API與google.maps API接口的風格很類似,MapBar API與BMap API接口風格則很雷同,甚至有些函數接口名都相同,如centerAndZoom


兼容性:


上面四款地圖API,都採用js實現訪問調用,因此對瀏覽器兼容性非常重要


BMap API:支持IE6.0+、Chrome、FF 3.0+、Opera 9.0+、Safari 3.0+,以及國內主要瀏覽器,如遨遊、360、QQ、Baidu、世界之窗等瀏覽器,兼容性較好


google.maps API:支持W3C標準(官方沒明確給出兼容的相關瀏覽器),且在在支持定位功能的瀏覽器上,可以調用google Geolocation API(智能手機上應用廣泛)


注:據瞭解,google map今年還暫未拿到在中國大陸的經營許可證,因此其地圖訪問服務有時會被GFW屏蔽掉,甚至不可用






簡單對比 


BMap API(Baidu)和google.maps API(Google)——都是以“天安門”爲參照系原點


BMap API(Baidu)




源碼打印?
<!doctype html>  
  
<html>  
<head>  
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
    <meta http-equiv="Content-Type" content="text/html; charset=gbk" />  
    <title>Baidu Map V1.2</title>  
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2&services=true">  
        <!-- add baidu map api -->  
    </script>  
</head>  
<body>  
    <div id="container" style="width: 600px; height: 400px;">  
    </div>  
</body>  
</html>  
<script type="text/javascript">  
    var map = new BMap.Map("container");                    // new Map  
    var point = new BMap.Point(116.397128, 39.916527);      // Location, (經度, 緯度)  
    map.centerAndZoom(point, 15);                           // show Map  
  
    // 添加縮放功能  
    map.enableScrollWheelZoom();  
    map.enableKeyboard();  
</script>  
效果圖如下:






google.maps API(Google)




源碼打印?
<!doctype html>  
  
<html>  
<head>  
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
    <meta http-equiv="content-type" content="text/html; charset=gbk" />  
    <title>Google Map V3</title>  
    <link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css"  
        rel="stylesheet" type="text/css" />  
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">  
    <!-- add google map api -->  
    </script>  
</head>  
<body οnlοad="initialize()">  
    <div id="container" style="width: 600px; height: 400px;">  
    </div>  
</body>  
</html>  
<script type="text/javascript">  
    function initialize() {  
        var point = new google.maps.LatLng(39.916527, 116.397128);            // location, (緯度, 經度)  
        var option = {  
            zoom: 12,  
            center: point,  
            mapTypeId: google.maps.MapTypeId.ROADMAP  
        }  
        var obj = document.getElementById("container");                       // container  
        var map = new google.maps.Map(obj, option);                           // show map  
    }  
</script>  
效果圖如下:










另兩大巨頭的Map API(Bing與Yahoo!)


Bing Map API:基於Virtual Earth的API,js接口調用,目前只有英文版(暫沒找到中文版)


Yahoo! Map API:提供Flash, Ajax and Map Image APIs,js接口調用,目前也只有英文版(暫沒找到中文版)


注:在Yahoo! Map API 看到,好像其要在2011年9月13號關閉Map API服務,建議用戶轉到其合作伙伴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: 國內地圖提供商,早期與百度合作,BMap API採用的便是MapBar,因此它們的API接口有些雷同(上面我已舉例)


MapABC:國內地圖提供商,早期與Google合作,google.maps API起初採用MapABC,後來google做的更好、更靈活


51Map:    國內地圖提供商,特色服務是提供地圖下載,可以實現本地桌面地圖(類似手機上的凱立德3D地圖)






總體感覺,各家Map API各有千秋,BMap API和google.maps API從開放、維護等角度,代表Map API兩大主流,可以滿足絕大部分用戶需求


QMap API和MapBar API都是後起之秀,專注技術的同時,也可以優化、增加一些API文檔,畢竟開放API就是爲了讓更多的人去使用嘛


IT技術需要競爭,因爲競爭,所以創新;因爲創新,所以開放;因爲開放,所以進步,祝願中國IT領域不斷創新、開放、進步、超越
原文鏈接:http://blog.csdn.net/sunboy_2050/article/details/6598020
發佈了26 篇原創文章 · 獲贊 15 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章