打开百度地图网页,按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详解之地图坐标系统