javascript - 如何确定是否点击了地图或标记
问题描述
再次感谢这里的地图 API。
我们目前正在努力如何确定是否单击了标记或地图本身。我们已经向地图和标记(作为组添加)添加了事件侦听器。
当我们现在点击地图时,两个事件监听器都会被触发。
我们是否遗漏了 API 文档中的某些内容?我认为应该有一种方法可以获取点击内容的正确信息。
地图事件监听器
map.addEventListener('tap', (event) => {
action(event);
});
标记事件监听器
marker.addEventListener('tap', (event) => {
action(event);
});
提前致谢。
解决方案
最好在地图对象上使用单个侦听器。
关键是检查的实例event.target
:
map.addEventListener('tap', event => {
if (event.target instanceof H.map.Marker) {
// Some action. Typically, you want to use the data that you may have referenced
// in the marker creation code, or get the coordinates. Here we log the data
console.log( event.target.getData() );
}
}
推荐阅读
- r - 尝试从 R 中的不同子目录批量导入多个 .csv 文件时出现“在字符串中嵌入 nul”错误
- kotlin - 如何在 compose 中选择 4 个 Composabel 中的一个?
- java - 活动重新启动后,FirestoreRecyclerView 不显示来自 Firestore 数据库的数据
- postgresql - 使用letsencrypt证书连接postgres
- r - 使用合并合并 2 列的问题
- excel - 公式 IFS 1*1=1
- python - Python打印不完整的数据
- jwt - jwt 没有安装并给我这个错误任何解决方案?
- amazon-ec2 - 如何从另一个站点连接 AWS EC2 中的 Kafka?
- javascript - 如何在线中心添加符号,并使箭头与 Mapbox 中的线端点对齐