【百度地图API】如何获取行政区域的边界? (转)
【百度地图API】如何获取行政区域的边界?
摘要:以前教过大家如何自行获取行政区域,或者自定义获取一个区域的边界值。今天来教大家直接调用百度地图API1.3(目前最新版本)来获取行政区域的边界值。
--------------------------------------------------------------------------------------
一、建立地图
创建地图对象;设立中心点。
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();
三、获取行政区域
构造函数Boundary;
get方法,获取行政区域的边界。
rs是获取到的结果。
var bdary = new BMap.Boundary(); bdary.get(name, function(rs){ //获取行政区域 //这里是用户自己的函数。 });
四、添加覆盖物
获取到边界的点数组后,添加一个多边形覆盖物。
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); //添加覆盖物 }
五、调整视野
points为一系列点的数组,系统自动展示points里所有点。
map.setViewport(points); //调整视野
效果图:
全部源代码:
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码
相关文章:
《自行获取区域经纬度的工具》