当前位置:   article > 正文

vue3天地图点位信息窗口内容自定义_地图信息窗体 导出图片

地图信息窗体 导出图片

点击坐标,弹出信息窗体内容用的是用js拼接html字符串

发现这样太不方便,对信息窗体内元素做操作很麻烦,而且内容只能用原生html拼接,我这里想在窗体里介入element元素和echarts图表怎么办

 在vue2的时候有extend可以在点击地图坐标的时候手动挂载组件作为信息,Vue组件实现百度地图弹窗,Vue组件插入节点

vue3中extend被废除,Vue3.0中对Vue2.0全局API extend 的替代方案,不会搞o(╥﹏╥)o

然后想了个不太规范的方法,但要的效果已经能满足

  1. <div id='mapDiv' style='width:100%; height:650px'></div> // 地图容器
  2. // 自定义弹窗内容 可以使用html,element和echart等自定义
  3. // 先flag=false隐藏 因为窗口内容是页面初始加载的,会显示在地图外
  4. <div v-show="flag" ref="boxcontent">
  5. <el-button type="primary" @click="showflag">111</el-button>
  6. <echart :flag="flag"></echart>
  7. </div>
  1. // setup里
  2. const map = ref()
  3. const maps = () => {
  4. map.value = new T.Map('mapDiv')
  5. map.value.centerAndZoom(new T.LngLat(120, 30), 12)
  6. map.value.enableDoubleClickZoom()
  7. let point = new T.LngLat(120, 30)
  8. marker.value = new T.Marker(point);
  9. map.value.addOverLay(marker.value);
  10. var markerInfoWin = new T.InfoWindow(proxy.$refs.boxcontent,
  11. {maxWidth: 350, minWidth: 350,closeOnClick:true});
  12. // 通过ref和$refs获取自定义的信息窗体dom,将他移植到天地图信息窗口里
  13. marker.value.addEventListener("click", () => {
  14. marker.value.openInfoWindow(markerInfoWin);
  15. state.flag=true
  16. });
  17. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/109687
推荐阅读
相关标签
  

闽ICP备14008679号