用瀏覽器只能看到省市區。用手機瀏覽能看到省市區街道。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=0">
<meta name="apple-touch-fullscreen" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<title>定位市區街道</title>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=38z4vZlVWK6oAdbrNuXnq1mB"></script>
</head>
<body style="background:#f3f5f5">
<div class="abbress">
<h4><span id="mapaddress">定位......</span></h4>
<!--<em class="iconfont"></em>-->
</div>
</body>
<script type="text/javascript">
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;
gc.getLocation(pt, function(rs){
var addComp = rs.addressComponents;
// alert(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
$('#mapaddress').html(addComp.province + ' ' +addComp.city+' '+addComp.district+' '+addComp.street);
});
}
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>
</html>