【百度地图API】如何获取行政区域的边界?(转载)
生活随笔
收集整理的這篇文章主要介紹了
【百度地图API】如何获取行政区域的边界?(转载)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
轉(zhuǎn)自:http://www.cnblogs.com/milkmap/archive/2012/04/11/2442430.html
摘要:以前教過大家如何自行獲取行政區(qū)域,或者自定義獲取一個區(qū)域的邊界值。今天來教大家直接調(diào)用百度地圖API1.3(目前最新版本)來獲取行政區(qū)域的邊界值。
--------------------------------------------------------------------------------------
一、建立地圖
創(chuàng)建地圖對象;設立中心點。
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();三、獲取行政區(qū)域
構造函數(shù)Boundary;
get方法,獲取行政區(qū)域的邊界。
rs是獲取到的結(jié)果。
var bdary = new BMap.Boundary(); bdary.get(name, function(rs){ //獲取行政區(qū)域//這里是用戶自己的函數(shù)。 });四、添加覆蓋物
獲取到邊界的點數(shù)組后,添加一個多邊形覆蓋物。
var count = rs.boundaries.length; //行政區(qū)域的點有多少個for(var i = 0; i < count; i++){var ply = new BMap.Polygon(rs.boundaries[i], {strokeWeight: 2, strokeColor: "#ff0000"}); //建立多邊形覆蓋物map.addOverlay(ply); //添加覆蓋物}五、調(diào)整視野
points為一系列點的數(shù)組,系統(tǒng)自動展示points里所有點。
map.setViewport(points); //調(diào)整視野?
?
效果圖:
?
?
全部源代碼:
<!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>獲取地區(qū)輪廓線</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" οnclick="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){ //獲取行政區(qū)域map.clearOverlays(); //清除地圖覆蓋物 var count = rs.boundaries.length; //行政區(qū)域的點有多少個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()); //調(diào)整視野 } }); }</script> </body> </html>轉(zhuǎn)載于:https://www.cnblogs.com/jiajialove/p/9292766.html
總結(jié)
以上是生活随笔為你收集整理的【百度地图API】如何获取行政区域的边界?(转载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java IDE 的选择
- 下一篇: 跳出艺术谈科学,人力资源管理书籍推荐