function getBoundary() { var bdary = new BMap.Boundary(); if ($("#sel_Area").val() != "") { bdary.get($("#sel_Area").find("option:selected").text(), function (rs) { //获取行政区域 var count = rs.boundaries.length; //行政区域的点有多少个 if (count === 0) { alert('未能获取当前输入行政区域'); return; } //添加遮罩层 //思路:利用行政区划点的集合与外围自定义东南西北形成一个环形遮罩层 //1.获取选中行政区划边框点的集合 rs.boundaries[0] var strs = new Array(); strs = rs.boundaries[0].split(";"); var EN = ""; //行政区划东北段点的集合 var pt_e = strs[0]; //行政区划最东边点的经纬度 var pt_n = strs[0]; //行政区划最北边点的经纬度 var pt_w = strs[0]; //行政区划最西边点的经纬度 var pt_s = strs[0]; //行政区划最南边点的经纬度 var n1 = ""; //行政区划最东边点在点集合中的索引位置 var n2 = ""; //行政区划最北边点在点集合中的索引位置 var n3 = ""; //行政区划最西边点在点集合中的索引位置 var n4 = ""; //行政区划最南边点在点集合中的索引位置 //2.循环行政区划边框点集合找出最东南西北四个点的经纬度以及索引位置 for (var n = 0; n < strs.length; n++) { var pt_e_f = parseFloat(pt_e.split(",")[0]); var pt_n_f = parseFloat(pt_n.split(",")[1]); var pt_w_f = parseFloat(pt_w.split(",")[0]); var pt_s_f = parseFloat(pt_s.split(",")[1]); var sPt = new Array(); try { sPt = strs[n].split(","); var spt_j = parseFloat(sPt[0]); var spt_w = parseFloat(sPt[1]); if (pt_e_f < spt_j) { //东 pt_e = strs[n]; pt_e_f = spt_j; n1 = n; } if (pt_n_f < spt_w) { //北 pt_n_f = spt_w; pt_n = strs[n]; n2 = n; } if (pt_w_f > spt_j) { //西 pt_w_f = spt_j; pt_w = strs[n]; n3 = n; } if (pt_s_f > spt_w) { //南 pt_s_f = spt_w; pt_s = strs[n]; n4 = n; } } catch (err) { alert(err); } } for (var o = n1; o < strs.length; o++) { EN += strs[o] + ";" } for(var o=0;o<=n1;o++){ EN += strs[o] + ";" } //4.自定义外围边框点的集合 var E_JW = "170.672126, 39.623555;"; //东 var EN_JW = "170.672126, 81.291804;"; //东北角 var N_JW = "105.913641, 81.291804;"; //北 var NW_JW = "-169.604276, 81.291804;"; //西北角 var W_JW = "-169.604276, 38.244136;"; //西 var WS_JW = "-169.604276, -68.045308;"; //西南角 var S_JW = "114.15563, -68.045308;"; //南 var SE_JW = "170.672126, -68.045308 ;"; //东南角 var ply1 = new BMap.Polygon(EN + E_JW+EN_JW+NW_JW+WS_JW+SE_JW+E_JW, { strokeColor: "none", fillColor: "rgb(246,246,246)", strokeOpacity: 0, fillOpacity: 0.9 }); //建立多边形覆盖物 map.addOverlay(ply1); //5. 给目标行政区划添加边框,其实就是给目标行政区划添加一个没有填充物的遮罩层 var ply = new BMap.Polygon(rs.boundaries[0], { strokeWeight: 2, strokeColor: "#ff0000", fillColor: "" }); map.addOverlay(ply); //map.setViewport(ply.getPath()); //调整视野 }); } }
地图api有过变化 之前的反向遮盖 代码有bug了,这个是 修改后的;
相关推荐
利用目标区域点的集合与外围自定义区域形成一个环形遮罩层,高亮显示所选行政区划,遮盖非目标区域。
本项目旨在实现反向解析地址、自动地图搜索、选择区域跳转以及地图点击与拖拽定位等功能,以提供用户友好的地图服务。下面将详细阐述这些知识点: 1. **百度地图API**:百度地图API是百度提供的地图服务接口,...
问题1:百度地图应用的是瓦片式图片(地图是一张张图片拼出来的),html2canvas 处理时,遇到非同一域名下的图片,浏览器会显示跨域的报错,也无法用反向代理来解决,因为瓦片图片的域名不确定,无法指定 proxy_pass...
接下来,版本2.0的ak密钥引入了一个新的重大变化,这可能意味着API的重大升级,比如增强了地图渲染效果、增加了更多的地理编码和反向地理编码支持,或者提供了更强大的路线规划功能。使用新版本的密钥,开发者可以...
在开发Web应用时,地图组件常常扮演着重要角色,而百度地图API则为开发者提供了丰富的功能,包括在地图上添加标记(marker)。本教程将详细讲解如何利用百度地图API和CSS3来实现marker的动画效果。 首先,让我们...
本主题将详细探讨四个核心概念:百度地图标注、地址解析、反向地址解析和坐标转换,这些都是构建基于位置的应用程序所必需的技术。 首先,我们来理解**百度地图标注**。地图标注是指在地图上添加特定的点、线或面,...
"百度地图根据坐标查询文字地址"的主题就是关于如何利用百度地图API进行反向地理编码的实践。下面将详细阐述这一知识点。 首先,百度地图提供了一套丰富的API服务,包括地图展示、定位、路线规划、地理编码和反向...
百度地图离线版Javascript API 2.0包含了全国8级地图数据,这意味着它覆盖了全国范围内的详细地理信息,从省级区域到更细致的城市、街道级别。这种级别的地图数据足以满足大多数应用场景的需求,无论是开发本地导航...
百度地图API提供了反向和正向地理编码服务,帮助开发者将地址信息与地图上的位置精确对应。 在实际应用开发中,还需要考虑性能优化和用户体验,比如合理缓存地图数据、处理网络延迟、响应式设计等。同时,遵循百度...
6. **地理编码与反向地理编码**:将地址转换为坐标(地理编码)和将坐标转换为地址(反向地理编码)是百度地图API的常用功能,便于在地图上定位和检索位置信息。 7. **异步调用**:考虑到网络延迟,项目可能采用了...
高德地图API提供了丰富的地理数据和强大的搜索能力,开发者可以利用它实现地点搜索、反向地理编码(根据坐标查找地址)、周边兴趣点查询等功能。 综上所述,这些Demo项目涵盖了地图显示、定位服务、路径规划等核心...
总结来说,Android应用可以通过集成百度地图SDK,监听地图滑动事件获取屏幕中心的经纬度,再通过反向地理编码获取详细地址信息,从而实现动态显示用户当前所在位置的功能。在实际开发中,要确保正确配置权限,合理...
在Java开发中,调用百度地图API是一种常见的需求,它涉及到地理位置服务,如地址解析、GPS定位以及地图显示等功能。以下是一些关于如何在Java中使用百度地图API的关键知识点: 1. **百度地图API接入**:首先,你...
本资源名为“百度地图完整demo”,它是一个包含了一系列关于百度地图API示例的压缩包。这个压缩包的核心目标是为开发者提供一个全面了解和学习如何使用百度地图服务的平台,尤其聚焦于地理编码和反地理编码功能。...
反之,从谷歌地图到百度地图也类似,需要应用反向转换。这通常涉及到数学算法,例如四参数、七参数或更复杂的模型。 2. **API接口**:两个地图服务商都提供了API,允许开发者在应用程序中集成地图服务。百度地图API...
百度地图API是百度公司提供的一系列地图服务接口,允许开发者在应用程序中集成百度地图的功能。百度地图API文档是开发者获取这些接口使用方法的官方指南,它详细说明了如何通过特定的统一资源标识符(URI)调用百度...
在IT行业中,地图API的使用已经成为开发者不可或缺的工具,尤其是像百度地图这样的知名服务。本案例将探讨如何调用百度地图API实现地区三级联动的功能,这对于构建地理信息系统、在线导航或者地点查询应用非常实用。...
- **拉框放大工具**:用户可以通过拖动选择区域来放大地图的特定部分。 #### 十、服务 - **地图服务概述**:除了地图显示的基本功能外,百度地图API还提供了多种服务,如本地搜索、路线规划等。 - **本地搜索**:...
最后,如果需要搜索方圆内的特定地点,如POI(Point of Interest,兴趣点),可以使用百度地图的反向地理编码服务或者周边检索服务。反向地理编码可以将经纬度转换为具体的地址信息,周边检索则可以获取指定范围内的...
为了提供更好的用户体验,可以添加搜索框,让用户输入地址或地点,然后调用百度地图的地理编码服务进行反向解析,将地址转换为经纬度坐标。这需要用到Geocoding API。 最后,当用户确认选择的位置后,可以将Marker...