1. 程式人生 > >利用百度地圖API實現WEB定位

利用百度地圖API實現WEB定位

之前一直用google api 實現WEB的定位,但是現在 navigator.geolocation.getCurrentPosition 經常返回無效或者連線超時,所以今天找了下百度地圖的API,也很簡單的實現定位,下面的例子是獲取當前城市和當前經緯度:

    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=金鑰"></script>
    <script type="text/javascript">
        new BMap.LocalCity().get(function (r) { //定位城市
            alert("當前定位城市:" + r.name);
        });
        new BMap.Geolocation().getCurrentPosition(function (r) { //定位位置
            if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                alert('您的位置:' + r.point.lng + ',' + r.point.lat);
            }
            else {
                alert('failed' + this.getStatus());
            }
        }, { enableHighAccuracy: true })
        //關於狀態碼
        //BMAP_STATUS_SUCCESS	檢索成功。對應數值“0”。
        //BMAP_STATUS_CITY_LIST	城市列表。對應數值“1”。
        //BMAP_STATUS_UNKNOWN_LOCATION	位置結果未知。對應數值“2”。
        //BMAP_STATUS_UNKNOWN_ROUTE	導航結果未知。對應數值“3”。
        //BMAP_STATUS_INVALID_KEY	非法金鑰。對應數值“4”。
        //BMAP_STATUS_INVALID_REQUEST	非法請求。對應數值“5”。
        //BMAP_STATUS_PERMISSION_DENIED	沒有許可權。對應數值“6”。(自 1.1 新增)
        //BMAP_STATUS_SERVICE_UNAVAILABLE	服務不可用。對應數值“7”。(自 1.1 新增)
        //BMAP_STATUS_TIMEOUT	超時。對應數值“8”。(自 1.1 新增)
    </script>