这里给使用高德地图下钻提供一个思路
先讲下我的思路,高德地图api有一个地图绘制区域,你只要提供区码,就可以绘制该区域。以浙江省为例,我一开给浙江省的区码就可以绘制出浙江省的区域,接下来我要进入杭州市,当我点击杭州市的时候我先清空地图上的覆盖层并且能获取到‘杭州市'这个字符串,通过对比这个字符串我就可以给出杭州市的区码,最后绘制出杭州市的覆盖层。
接下来看代码:
第一步
绘制地图:
//创建地图 this.map = new AMap.Map("container", { cursor: "default", resizeEnable: true, expandZoomRange: true, gestureHandling: "greedy", // zooms: [8, 20], zoom: 12, defaultCursor: "pointer", mapStyle: "amap://styles/f6e3818366ba5268d50ea3f2296eb3eb", showLabel: true });
第二步(关键)
let that = this; AMapUI.loadUI(["geo/DistrictExplorer"], DistrictExplorer => { //创建一个实例 that.districtExplorer = new DistrictExplorer({ eventSupport: true, map: this.map }); //设置绘制的子区域和父区域的自身属性(包括线颜色,透明度等)执行renderAreaNode()就可以开始绘制区域了 function renderAreaNode(areaNode) { //绘制子级区划 that.districtExplorer.renderSubFeatures(areaNode, function( feature, i ) { return { cursor: "default", bubble: true, // strokeColor: "#00a4ce", //线颜色 strokeColor: "#03d7a1", strokeOpacity: 1, //线透明度 strokeWeight: 1.5, //线宽 // fillColor: "#09152a", //填充色 fillColor: "#072942", fillOpacity: 0.1 //填充透明度 }; }); //绘制父区域 that.districtExplorer.renderParentFeature(areaNode, { cursor: "default", bubble: true, // strokeColor: "#00a4ce", //线颜色 strokeColor: "#03d7a1", strokeOpacity: 1, //线透明度 strokeWeight: 1.5, //线宽 // fillColor: "#09152a", //填充色 fillColor: "#072942", fillOpacity: 0.6 //填充透明度 }); } // var adcodes = []; // //根据角色来绘制不同的区域 // that.adcodes = [ // 330200 //浙江 // ]; that.map.clearMap(); //清空所有绘制物 //绘制多区域 that.districtExplorer.loadMultiAreaNodes(this.adcodes, function( error, areaNodes ) { //设置定位节点,支持鼠标位置识别 //注意节点的顺序,前面的高优先级 that.districtExplorer.setAreaNodesForLocating(areaNodes); //清除已有的绘制内容 that.districtExplorer.clearFeaturePolygons(); for (var i = 0, len = areaNodes.length; i < len; i++) { renderAreaNode(areaNodes[i]); } //更新地图视野 that.map.setFitView(that.districtExplorer.getAllFeaturePolygons()); }); //添加点标记 that.addMarker(data); });
this.adcodes是区码,这里的关键在于清空,利用好 that.map.clearMap();
//清空所有绘制物 再重新进行绘制,再通过 that.map.setFitView(that.districtExplorer.getAllFeaturePolygons());
就可以达到下钻的效果,上浮也是同理。
区码以浙江省为例
if (data.result.rows[0].cities_name == "杭州市") { this.adcodes = [330100]; } else if (data.result.rows[0].cities_name == "宁波市") { this.adcodes = [330200]; } else if (data.result.rows[0].cities_name == "温州市") { this.adcodes = [330300]; } else if (data.result.rows[0].cities_name == "嘉兴市") { this.adcodes = [330400]; } else if (data.result.rows[0].cities_name == "湖州市") { this.adcodes = [330500]; } else if (data.result.rows[0].cities_name == "绍兴市") { this.adcodes = [330600]; } else if (data.result.rows[0].cities_name == "金华市") { this.adcodes = [330700]; } else if (data.result.rows[0].cities_name == "衢州市") { this.adcodes = [330800]; } else if (data.result.rows[0].cities_name == "舟山市") { this.adcodes = [330900]; } else if (data.result.rows[0].cities_name == "台州市") { this.adcodes = [331000]; } else if (data.result.rows[0].cities_name == "丽水市") { this.adcodes = [331100]; }
总结
以上所述是小编给大家介绍的vue使用高德地图点击下钻上浮效果的实现思路,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
标签:
vue高德地图点击下钻,上浮效果
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“vue使用高德地图点击下钻上浮效果的实现思路”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月16日
2024年11月16日
- 蔡婧2024《天空》HQCDII头版限量编号[WAV+CUE][1G]
- 陈奂仁.2011-谁是陈奂仁【BBS】【FLAC分轨】
- 群星.2024-幻乐森林影视原声带【韶愔音乐】【FLAC分轨】
- 黎明.1999-向往金色的黎明新歌+精选2CD【环球】【WAV+CUE】
- 发烧女声Méav《美芙的祈祷》发烧女声 [WAV+CUE][820M]
- 雷婷 《我的爱回不来》紫银合金AQCD [WAV+CUE][1G]
- 群星 DTS《天籁之音·唱醉了草原》2CD[WAV分轨][1.6G]
- 魔兽世界wlk毁灭术一键输出宏是什么 wlk毁灭术一键输出宏介绍
- 三国志8重制版无法与武将交流怎么办 无法与武将交流解决方法一览
- 三国志8重制版恶名怎么消除 恶名影响与消除方法介绍
- 模拟之声慢刻CD《柏林之声5》2019[原抓WAV+CUE]
- AlexandraSoumm-Parisestunefte(2024)[24Bit-96kHz]FLAC
- 李嘉《国语转调1》[天王唱片][WAV整轨]
- 不是哥们 这都能跑?网友展示用720显卡跑《黑神话》
- 玩家自制《黑神话:悟空》亢金星君3D动画 现代妆容绝美