最近遇到了百度地图瓦片加载不全并且慢的问题
最终找到原因是因为用的map.setMapStyle,这个属性只维护到2,现在是基于3开发的
所以最终用了setMapStyleV2
用的是加载json文件
map = new BMapGL.Map(proxy.$refs.map, { enableMapClick: false });
map.centerAndZoom(point, zoom);//point是中心点 zoom是层级
map.enableScrollWheelZoom(true);
map.setMapStyleV2({ styleJson:customeMapConfig });
customeMapConfig是地图的json文件名称
可以点击百度地图个性化编辑器
下载json文件
地图加载顺畅之后遇到一个这样的问题
就是点击覆盖物marker之后,触发了marker的点击事件之后又触发了地图的点击事件
解决方案就是
marker.addEventListener("click",(e)=>{ //阻止marker的点击事件触发地图的点击事件 e.domEvent.stopPropagation(); })
有个覆盖物使用html编辑的样式
点击事件是这样的
οnclick="showOrHidden(window.event,'${name}', ${ drill.isShowAll && drill.clickName === name })"
window.showOrHidden = (e,name, id) => {
e.stopPropagation()
if (drill.isShowAll && drill.clickName !== name) { drill.isShowAll = false; }
总的来说方法就是阻止marker的点击事件向上冒泡
有总结的不对的欢迎指正