欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

获取百度地图中的县级以上行政区域的边界数据

程序员文章站 2022-07-03 18:11:45
...

从网上所找的代码中并不能下载到边界数据,所以自己拼凑了一个

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>获取地区轮廓线</title>  
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3">  
</script>  
<style type="text/css">  
body{font-size:13px;margin:10px}  
#container{width:800px;height:500px;border:1px solid gray;margin:auto auto;}  
#controler {text-align:center;margin-top:30px;}  
</style>  
</head>  
<body>  
<div id="container"></div>  
<div id="controler">  
输入省、直辖市或县名称:<input type="text" id="districtName" style="width:80px" value="合肥市">  
<input type="button" onclick="getBoundary()" value="获取轮廓线"></div>  
<textarea id="Div1" style="width:100%;height:200px"></textarea>
  
<script type="text/javascript">  
var map = new BMap.Map("container");  
map.centerAndZoom(new BMap.Point(116.403765, 39.914850), 5);  
map.addControl(new BMap.NavigationControl({type: BMAP_NAVIGATION_CONTROL_SMALL}));  
map.enableScrollWheelZoom();  
  
function getBoundary(){         
    var bdary = new BMap.Boundary();  
    var name = document.getElementById("districtName").value;  
    bdary.get(name, function(rs){       //获取行政区域  
        map.clearOverlays();        //清除地图覆盖物  
		document.getElementById('Div1').innerText = rs.boundaries;
        var count = rs.boundaries.length; //行政区域的点有多少个  
        for(var i = 0; i < count; i++){  
            var ply = new BMap.Polygon(rs.boundaries[i], {strokeWeight: 2, strokeColor: "#ff0000"}); //建立多边形覆盖物  
            map.addOverlay(ply);  //添加覆盖物  
            map.setViewport(ply.getPath());    //调整视野           
        }                  
    });     
}  
</script>  
</body>  
</html>  

获取百度地图中的县级以上行政区域的边界数据

相关标签: gis html