百度地图不用手动描点获取行政区域边界

来源:互联网 发布:软件企业认定流程 编辑:程序博客网 时间:2024/05/01 08:58

百度API地址:点击打开链接

地理覆盖物属性:点击打开链接


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



0 0
原创粉丝点击