百度地图 行政区域高亮显示
>本文转载至网络: 原文地址:https://blog.csdn.net/duan1311/article/details/81381278
function getBoundary(){ //百度地图获取行政区域的对象var bdary = new BMap.Boundary();bdary.get("重庆", function (rs) { //获取行政区域//以下是获取行政区域的回调map.clearOverlays(); //清除地图覆盖物 //需要绘制边界多边形的点集合var paths = new Array();//行政区域点集合,以;分隔的var pointliststr = rs.boundaries[0];//3获取点数组,push到 paths中var pointlist = pointliststr.split(";");var firstPoint;for(var i =0;i<pointlist.length;i++){var tempPt = pointlist[i].split(',');var newPoint = new BMap.Point(tempPt[0],tempPt[1]);if(i==0){ firstPoint= newPoint;};paths.push(newPoint);}//第一点再推进去,形成一个闭环,构造了多边形的内环paths.push(firstPoint);//自定义的八个便捷点,从东开始逆时针,东,东北,北,西北,西,西南,南,东南(必须按顺序来)paths.push(new BMap.Point(170.672126, 39.623555));paths.push(new BMap.Point(170.672126, 81.291804));paths.push(new BMap.Point(105.913641, 81.291804));paths.push(new BMap.Point(-169.604276, 81.291804));paths.push(new BMap.Point(-169.604276, 39.623555));paths.push(new BMap.Point(-169.604276, -68.045308));paths.push(new BMap.Point(105.913641, -68.045308));paths.push(new BMap.Point(170.672126, -68.045308));paths.push(new BMap.Point(170.672126, 39.623555));//4绘制第一个多边形,覆盖住除行政区外的所有部分,fillColor:填充色,strokeColor:边界颜色(设置透明,否则会有其他线条),strokeOpacity:线条透明,fillOpacity:填充物透明。var ply1 = new BMap.Polygon("",{ fillColor: "#708090", strokeColor: "transparent", strokeOpacity:0,fillOpacity:0}); //建立多边形覆盖物//将之前形成的点set到多边形对象中ply1.setPath(paths);//在地图上添加第一个多边形map.addOverlay(ply1); //遮罩物是半透明的,如果需要纯色可以多添加几层//5. 给目标行政区划添加边框,其实就是给目标行政区划添加一个没有填充物的遮罩层,绘制出边界线var ply = new BMap.Polygon(rs.boundaries[0],{ strokeWeight: 2, strokeColor: "#ff0000",fillColor: "transparent" });map.addOverlay(ply); map.setViewport(ply.getPath()); //调整视野 });}setTimeout(function(){getBoundary(); }, 200);
上面的代码可以直接放到百度地图API示例中运行,效果图:
百度地图 行政区域高亮显示相关推荐
- 百度地图 行政区域 高亮
最近接着个需求,需要在地图上将行政区域高亮,在网上找了几个方法,都是自己算的点顺序,总结了一下,出现过以下几个问题 1.行政区域边线画出来了,但是遮罩不准,应该是点顺序的问题,导致总是有显示或者不显示 ...
- android地图遮罩,百度地图api高亮显示指定区域,其余遮罩
1 //创建地图实例 2 var map = new BMap.Map("myMap",{enableMapClick: false});3 //以四川省为地图中心,显示层级为13 ...
- 高德地图API和百度地图API哪个更适合开发者?
高德vs百度 优点: 1.api十分简单易上手,高德一行代码,百度最少要五行: 2.数据量很丰盛,郊区poi<无关键字>搜索随便都有几十个,然而百度早早就关闭了该接口: 缺点: 1.偶尔出 ...
- 百度地图开发系列(5):高亮显示省市县级别的行政区域
异步调用百度地图 //异步调用百度地图API;function map_load() {var load = document.createElement("script");/
- 根据经纬度确定行政区域_基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标...
前言 近来由于工作需要,需要提取某些城市的经纬度坐标,稍微搜索了一下,发现百度地图和高德地图都提供了相关的函数和例子.那么剩余的工作也就比较简单了,保存坐标,然后转换为WGS坐标,这样才能和现有的GP ...
- 使用openlayers加载地图行政区域(结合百度云地图)
在某一个项目中,需要在一张地图上叠加中国行政区域,提供省.市两级行政区域的范围,由于自己的数据源不全,不能保证数据的完整性,所以采用调用百度云地图的API来实现在地图上显示行政区划范围:项目中使用的技 ...
- 奥维查看行政边界_【百度地图API】如何获取行政区域的边界? (转载)
摘要:以前教过大家如何自行获取行政区域,或者自定义获取一个区域的边界值.今天来教大家直接调用百度地图API1.3(目前最新版本)来获取行政区域的边界值. ----------------------- ...
- 百度地图 省市级三级行政区域显示(附带点聚合标记)
一.登录百度开放平台 开放平台网址:https://lbsyun.baidu.com/ 二.申请访问应用ak 路径:控制=>应用管理=>我的应用=>创建应用=>在应用类型中选择 ...
- 百度地图 添加行政区域
找资料的时候看到很多大佬写过关于百度地图添加行政区域但是由于我的是离线地图直接用百度地图api获取不到,所以自己写了一遍 记录一下. function getBoundary(){ var areas ...
最新文章
- arguments don‘t support automatic differentiation, but one of the arguments
- Html 教程 (5) 表格标签
- C++基础与面向对象
- 将DataFrame格式的数据存入到mysql数据库中
- 升级遗留代码的最佳实践
- jquery 序列化表格内容为字符串(serialize)
- Multi-thread--C++11中atomic的使用
- 【前端性能优化方法与实战】
- 在vue 中使用Stylus
- libevent实现TCP 客户端
- 大航海时代4+伙伴加入条件和港口一览
- oracle查询创建用户,Oracle创建设置查询权限用户
- 【Python 多进制转换】——数值多进制转换bin、oct、int、hex(2进制、4进制、8进制、10进制、16进制、32进制)
- 开发团队如何选型支付网关
- springboot中如何graceful关闭服务器
- 人工客服真的是真人吗?
- xshell 免费版申请
- 中规中矩的Spring事件监听
- MATLAB圆柱和球绘制
- h3c防火墙配置基础