【百度地图API】如何获取行政区域的边界?

【百度地图API】如何获取行政区域的边界?

摘要:以前教过大家如何自行获取行政区域,或者自定义获取一个区域的边界值。今天来教大家直接调用百度地图API1.3(目前最新版本)来获取行政区域的边界值。

————————————————————————————–

一、建立地图

创建地图对象;设立中心点。

 map =  BMap.Map("container");
map.centerAndZoom( BMap.Point(116.403765, 39.914850), 5);

二、添加地图事件和控件

控件:鱼骨控件我用了迷你型的;

地图事件:添加了滚轮缩放。

map.addControl( BMap.NavigationControl({type: BMAP_NAVIGATION_CONTROL_SMALL}));
map.enableScrollWheelZoom();

三、获取行政区域

构造函数Boundary;

get方法,获取行政区域的边界。

rs是获取到的结果。

 bdary =  BMap.Boundary();
bdary.get(name, function(rs){       获取行政区域
        这里是用户自己的函数。     
});   

四、添加覆盖物

获取到边界的点数组后,添加一个多边形覆盖物。

 count = rs.boundaries.length; 行政区域的点有多少个
        ( i = 0; i < count; i++ ply =  BMap.Polygon(rs.boundaries[i], {strokeWeight: 2, strokeColor: "#ff0000"}); 建立多边形覆盖物
            map.addOverlay(ply);  添加覆盖物
        }    

五、调整视野

points为一系列点的数组,系统自动展示points里所有点。

map.setViewport(points);    

全部源代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
xmlns="http://www.w3.org/1999/xhtml"

http-equiv="Content-Type" content="text/html; charset=utf-8" />
title获取地区轮廓线</title
script ="text/javascript"="http://api.map.baidu.com/api?v=1.3"
</script
style ="text/css"font-sizemargin
#containerwidth800pxheight500pxborder1px solid gray
</style
</

="container"></
/>
输入省、直辖市或县名称:input ="text"="districtName" style="width:80px" value="重庆市"
input ="button" onclick="getBoundary()" value="获取轮廓线"

script ="text/javascript"
  BMap.Map(container);
map.centerAndZoom( BMap.Point(116.40376539.914850);
map.addControl( BMap.NavigationControl({type: BMAP_NAVIGATION_CONTROL_SMALL}));
map.enableScrollWheelZoom();

function getBoundary(){       
     bdary   BMap.Boundary();
     document.getElementById(districtName).value;
    bdary.get(name, function(rs){       获取行政区域
        map.clearOverlays();        清除地图覆盖物       
         count  rs.boundaries.length; 行政区域的点有多少个
          count; i  BMap.Polygon(rs.boundaries[i], {strokeWeight: , strokeColor: #ff0000建立多边形覆盖物
            map.addOverlay(ply);  添加覆盖物
            map.setViewport(ply.getPath());    
        }                
    });   
}

</script
</
</

相关文章:

《自行获取区域经纬度的工具》

http://www.cnblogs.com/milkmap/archive/2012/02/23/2365064.html

此条目发表在未分类分类目录,贴了标签。将固定链接加入收藏夹。