这里给使用高德地图下钻提供一个思路
先讲下我的思路,高德地图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
白云城资源网 Copyright www.dyhadc.com
暂无“vue使用高德地图点击下钻上浮效果的实现思路”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2025年11月11日
2025年11月11日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]