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

转载 2016年06月01日 09:34:46

【百度地图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);    //调整视野

 

 

效果图:

 

 

全部源代码:

复制代码
<!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

高德地图获取位置信息代码(包要到高德官网去下)

package com.example.yuanmu.lunbo.Util; import android.content.Context; import com.amap.api.locatio...

使用高德地图获取对应城市下区的经纬度信息

需求:根据城市名获取对应城市下区的经纬度信息,然后根据对应区具体的经纬度插入大头针视图。 好比如:当前是上海,那么我就需要,黄浦区,宝山区等区的经纬度信息。功能的实现非常简单,高德已经提供了相应的...

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

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

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

【百度地图API】如何获取行政区域的边界? 摘要:以前教过大家如何自行获取行政区域,或者自定义获取一个区域的边界值。今天来教大家直接调用百度地图API1.3(目前最新版本)来获取行政...
  • sxty0220
  • sxty0220
  • 2012年04月29日 18:11
  • 15178

批量获取百度地图中的县级以上行政区域的边界数据

最近在做一个演示DEMO的时候,需要省界和市一级界线的数据。以前自己是有这样的SHP数据的,然而现在由于行政区划更新很快,而自己之前下的数据还是2010年版本的国家基础数据。 网上没有相关的...

百度地图不用手动描点获取行政区域边界

获取地区轮廓线 body{font-size:13px;margin:10px} #container{width:800px;height:500px;border:1px solid gra...

iOS -- 百度地图画出行政区域的边界

获取某行政区域边界经纬度的集合   上边这个html文件用浏览器打开,输入地名就可以获取该地的经纬度的集合。 将经纬度字符串转换成json数据 获取的经纬度集合可以算作一个字符串,...

百度地图API多行政区域划分

body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";} 添加行...

百度地图中国行政区域

  • 2013年10月29日 16:35
  • 3KB
  • 下载

从百度地图批量获取中国县级以上行政区划边界坐标

从百度地图批量获取中国县级以上行政区划边界坐标 不知道从什么时候开始,在Google地图或是百度地图中用城市或者省名称搜索的时候,你会发现地图上会勾勒出搜索的行政区的轮廓来,这个功能非常人性化。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【百度地图API】如何获取行政区域的边界?
举报原因:
原因补充:

(最多只允许输入30个字)