【百度地图API】如何获取行政区域的边界?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【百度地图API】如何获取行政区域的边界?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2541字,纯文字阅读大概需要4分钟。
内容图文
![【百度地图API】如何获取行政区域的边界?](/upload/InfoBanner/zyjiaocheng/1053/79b4264441b84c02a48f0a3ce14dbfe7.jpg)
摘要:以前教过大家如何自行获取行政区域,或者自定义获取一个区域的边界值。今天来教大家直接调用百度地图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); //调整视野
效果图:
全部源代码:
<!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://www.cnblogs.com/milkmap/archive/2012/02/23/2365064.html
原文:http://www.cnblogs.com/lonelyxmas/p/4208532.html
内容总结
以上是互联网集市为您收集整理的【百度地图API】如何获取行政区域的边界?全部内容,希望文章能够帮你解决【百度地图API】如何获取行政区域的边界?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。