【百度地图API】如何获取行政区域的边界? (转载)
2017-03-01 14:44
204 查看
摘要:以前教过大家如何自行获取行政区域,或者自定义获取一个区域的边界值。今天来教大家直接调用百度地图API1.3(目前最新版本)来获取行政区域的边界值。
--------------------------------------------------------------------------------------
一、建立地图
创建地图对象;设立中心点。
二、添加地图事件和控件
控件:鱼骨控件我用了迷你型的;
地图事件:添加了滚轮缩放。
三、获取行政区域
构造函数Boundary;
get方法,获取行政区域的边界。
rs是获取到的结果。
四、添加覆盖物
获取到边界的点数组后,添加一个多边形覆盖物。
五、调整视野
points为一系列点的数组,系统自动展示points里所有点。
效果图:
转自:http://blog.csdn.net/sxty0220/article/details/7522661
--------------------------------------------------------------------------------------
一、建立地图
创建地图对象;设立中心点。
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); //调整视野
效果图:
<!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}
</style>
</head>
<body>
<div id="container"></div>
<br />
输入省、直辖市或县名称:<input type="text" id="districtName" style="width:80px" value="重庆市">
<input type="button" onclick="getBoundary()" value="获取轮廓线">
<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(); //清除地图覆盖物
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>
转自:http://blog.csdn.net/sxty0220/article/details/7522661
相关文章推荐
- 【百度地图API】如何获取行政区域的边界? (转载)
- 【百度地图API】如何获取行政区域的边界? (转载)
- 【百度地图API】如何获取行政区域的边界?
- 【百度地图API】如何获取行政区域的边界?
- 【百度地图API】如何获取行政区域的边界?
- 【百度地图API】如何获取行政区域的边界? (转)
- 【百度地图API】如何获取行政区域的边界?
- 【百度地图API】如何获取行政区域的边界?
- 【百度地图API】如何获取行政区域的边界?
- 【百度地图API】获取行政区域的边界
- 如何获取行政区域的边界gps数据
- 【百度地图API】如何调整结果面板的样式?如何获取指定页码的结果?
- 【转载】如何获取当前程序文件的路径
- 如何用QTP获取网页中的图片验证码(转载)
- 如何将百度地图API获取经纬度写成公有方法?
- [转载]如何从 Windows Phone 的罗盘传感器获取数据
- 转:VC:如何根据文件名来获取程序进程和窗口句柄的代码(转载)
- 【转载】如何获取安卓手机屏幕尺寸
- 转载:C程序中如何获取命令执行的结果
- 转载:c#如何获取当前系统所有的字体和颜色?