Vue3+腾讯地图,如何使 鼠标悬浮到标记之上,会弹出标记的id信息
2条回答 默认 最新
关注 让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
问题分析: 要实现鼠标悬浮到标记上弹出标记的id信息,我们需要使用腾讯地图的API,结合Vue3的指令,来监听鼠标事件,获取标记信息,并弹出标记信息。具体步骤如下:- 在Vue3组件中引入腾讯地图的API和jquery库(为了方便处理标记信息):
<script src="https://map.qq.com/api/js?v=2.exp&key=YOUR_KEY"></script> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
- 在组件的
mounted
钩子函数中初始化地图,并创建标记:
mounted() { // 初始化地图 let map = new qq.maps.Map(document.getElementById('map'), { zoom: 13, center: new qq.maps.LatLng(39.916527,116.397128), }); // 创建标记 let marker = new qq.maps.Marker({ position: new qq.maps.LatLng(39.916527,116.397128), map: map, id: 1, // 标记的id信息 }); },
- 在标记上绑定鼠标事件:
marker.addListener('mouseover', function() { // 鼠标悬浮上去时,弹出标记的id信息 let id = this.id; let markerInfo = `<div>标记的id是:${id}</div>`; let infoWindow = new qq.maps.InfoWindow({ map: map, }); infoWindow.setContent(markerInfo); infoWindow.setPosition(this.getPosition()); });
这样,当鼠标悬浮到标记上时,就会弹出包含标记id信息的弹窗。 完整代码示例:
<template> <div id="map" style="height: 400px"></div> </template> <script> export default { mounted() { // 初始化地图 let map = new qq.maps.Map(document.getElementById('map'), { zoom: 13, center: new qq.maps.LatLng(39.916527,116.397128), }); // 创建标记 let marker = new qq.maps.Marker({ position: new qq.maps.LatLng(39.916527,116.397128), map: map, id: 1, // 标记的id信息 }); // 在标记上绑定鼠标事件 marker.addListener('mouseover', function() { // 鼠标悬浮上去时,弹出标记的id信息 let id = this.id; let markerInfo = `<div>标记的id是:${id}</div>`; let infoWindow = new qq.maps.InfoWindow({ map: map, }); infoWindow.setContent(markerInfo); infoWindow.setPosition(this.getPosition()); }); } } </script>
解决 无用评论 打赏 举报
悬赏问题
- ¥15 Android Navigation: 某XDirections类不能自动生成
- ¥20 C#上传XML格式数据
- ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
- ¥100 单片机hardfaulr
- ¥20 手机截图相片分辨率降低一半
- ¥50 求一段sql语句,遇到小难题了,可以50米解决
- ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
- ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
- ¥15 虚拟机检测,可以是封装好的DLL,可付费
- ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)