百度地圖JS API獲取到所在位置名稱
阿新 • • 發佈:2019-02-17
//引入百度地圖 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=金鑰"></script> <script type="text/javascript"> // 百度地圖API功能 var map = new BMap.Map("allmap"); var point = new BMap.Point(108.95,34.27);//地圖初始中心點 map.centerAndZoom(point,12); var geolocation = new BMap.Geolocation(); var gc = new BMap.Geocoder(); geolocation.getCurrentPosition( function(r) { //定位結果物件會傳遞給r變數 if(this.getStatus() == BMAP_STATUS_SUCCESS) { //通過Geolocation類的getStatus()可以判斷是否成功定位。 var pt = r.point; map.panTo(pt);//移動地圖中心點 //alert(r.point.lng);//X軸 //alert(r.point.lat);//Y軸 gc.getLocation(pt, function(rs){ var addComp = rs.addressComponents; alert(addComp.city); //alert(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber); }); } else { //關於狀態碼 //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 新增) switch( this.getStatus() ) { case 2: alert( '位置結果未知 獲取位置失敗.' ); break; case 3: alert( '導航結果未知 獲取位置失敗..' ); break; case 4: alert( '非法金鑰 獲取位置失敗.' ); break; case 5: alert( '對不起,非法請求位置 獲取位置失敗.' ); break; case 6: alert( '對不起,當前 沒有許可權 獲取位置失敗.' ); break; case 7: alert( '對不起,服務不可用 獲取位置失敗.' ); break; case 8: alert( '對不起,請求超時 獲取位置失敗.' ); break; } } }, {enableHighAccuracy: true} ) </script>