有時候我們想要繪製地圖,少不了需要知道邊界座標,如何獲取邊界座標呢,很多人會想到地圖,不錯,很多地圖都已經給我們提供了邊界座標的數據
1.百度地圖
部分代碼示例
// 百度地圖API功能
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.403765, 39.914850), 5);
map.enableScrollWheelZoom();
function getBoundary(){
var bdary = new BMap.Boundary();
bdary.get("北京市海淀區", function(rs){ //獲取行政區域
map.clearOverlays(); //清除地圖覆蓋物
var count = rs.boundaries.length; //行政區域的點有多少個
if (count === 0) {
alert('未能獲取當前輸入行政區域');
return ;
}
var pointArray = [];
for (var i = 0; i < count; i++) {
var ply = new BMap.Polygon(rs.boundaries[i], {strokeWeight: 2, strokeColor: "#ff0000"}); //建立多邊形覆蓋物
map.addOverlay(ply); //添加覆蓋物
pointArray = pointArray.concat(ply.getPath());
}
map.setViewport(pointArray); //調整視野
addlabel();
});
}
其中,bdary.get文字部分輸入我們需要獲取邊界座標的區域,例如河南省,然後通過rs.boundaries來獲取具體的邊界座標數組值
相關demo鏈接
2高得地圖
function(status, result) {
map.remove(polygons)//清除上次結果
polygons = [];
var bounds = result.districtList[0].boundaries;
if (bounds) {
for (var i = 0, l = bounds.length; i < l; i++) {
//生成行政區劃polygon
var polygon = new AMap.Polygon({
strokeWeight: 1,
path: bounds[i],
fillOpacity: 0.4,
fillColor: '#80d8ff',
strokeColor: '#0091ea'
});
polygons.push(polygon);
}
}
map.add(polygons)
map.setFitView(polygons);//視口自適應
});
}
高得demo是查詢,需要我們手動輸入需要查詢的地點,然後點擊查詢即可。其中bounds中就包含了我們需要的邊界座標。
相關demo鏈接
3.騰訊地圖
理論上騰訊應該也有,雖然找到了相關demo,但是demo出了問題,無法測試。
相關demo鏈接