打開百度地圖網頁,按F12打開開發者模式,在搜索框輸入要查找的地點,按搜索或回車
找到如下面圖片所示的鏈接
右擊新鏈接打開,打開的是js文件,火狐瀏覽器不會解析,可用保存到本地,然后把文件后綴改為json,在用火狐瀏覽器打開,就可以了
展開content對象的第一個值,看看有沒有aoi這個鍵,有的話往下划
找到profile_geo
這個鍵,它的值就是邊界坐標點了,不過需要對數據進行一下過濾
獲取到的坐標為平面坐標,需要轉換成經緯度坐標
坐標轉換
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<title>墨卡托坐標轉經緯度坐標</title>
<meta name="description" content="123"/>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
</head>
<body>
<div style="display:none;" id="container"></div>
<div style="width:500px;height:270px;float:left;margin:0 0 0 10px;">
<p>墨卡托坐標x:<input type="text" value="12128773.43" id="mctX" /></p>
<p>墨卡托坐標y:<input type="text" value="4040249.00" id="mctY" /></p>
<p id="pointX"></p>
<p id="pointY"></p>
<p id="entertaiment"></p>
<p><input style="width:400px;height:80px;font-size:30px;" type="button" value="墨卡托坐標轉經緯度坐標" onclick="mctGeo();" /></p>
<div id="panel"></div>
</div>
</body>
</html>
<script type="text/javascript">
//以下兩句話為創建地圖
var map = new BMap.Map("container");
function mctGeo(){
var mctXX = document.getElementById("mctX").value;
var mctYY = document.getElementById("mctY").value;
var mctXY = new BMap.Pixel(mctXX,mctYY);
var projection2 = map.getMapType().getProjection();
var LngLat = projection2.pointToLngLat(mctXY);
document.getElementById("pointX").innerHTML = "經緯度lng: " + LngLat.lng;
document.getElementById("pointY").innerHTML = "經緯度lat: " + LngLat.lat;
}
</script>
參考文章:
百度地圖AOI面數據獲取
百度地圖API詳解之地圖坐標系統