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

简介: 原文:【百度地图API】如何获取行政区域的边界?摘要:以前教过大家如何自行获取行政区域,或者自定义获取一个区域的边界值。今天来教大家直接调用百度地图API1.3(目前最新版本)来获取行政区域的边界值。
原文: 【百度地图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

目录
相关文章
|
6月前
|
缓存 API 定位技术
使用Python调用百度地图API实现地址查询
使用Python调用百度地图API实现地址查询
345 0
|
3月前
|
JavaScript 前端开发 定位技术
百度地图JavaScript API v2.0创建地图
百度地图JavaScript API v2.0创建地图
59 0
|
4月前
|
JavaScript 前端开发 定位技术
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
220 0
|
5月前
|
域名解析 JavaScript 网络协议
技术心得记录:如何使用google地图的api(整理)
技术心得记录:如何使用google地图的api(整理)
411 0
|
5月前
|
Java API Apache
详尽分享百度翻译api
详尽分享百度翻译api
101 0
|
6月前
|
定位技术 API
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
|
6月前
|
数据采集 分布式计算 DataWorks
DataWorks产品使用合集之DataWorks数据地图中的数据发现相关api接口调用如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
48 0
|
6月前
|
自然语言处理 API 语音技术
Python加百度语音API实现文字转语音功能
Python加百度语音API实现文字转语音功能
190 0
|
6月前
|
JSON JavaScript 定位技术
Vue中使用echarts@4.x中国地图及AMap相关API的使用
Vue中使用echarts@4.x中国地图及AMap相关API的使用
307 0
Vue中使用echarts@4.x中国地图及AMap相关API的使用
|
11月前
|
定位技术 API
百度地图API的使用教程以及案例(二)
百度地图API的使用教程以及案例