獲取行政區邊界座標

有時候我們想要繪製地圖,少不了需要知道邊界座標,如何獲取邊界座標呢,很多人會想到地圖,不錯,很多地圖都已經給我們提供了邊界座標的數據

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鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章