高德地图点击标记后如何获取当前marker的信息?

卫红 Dev 阅读 42

我在用高德地图 JS API v2 开发一个门店展示功能,页面上加了多个 marker。现在想在点击某个 marker 时弹出对应门店的名称,但不知道怎么拿到被点击的那个 marker 的数据。

我试过在 addListener 里直接打印 event 对象,但里面好像没有我 set 的 extData。我给 marker 设置了自定义属性:marker.setExtData({ shopName: '旗舰店' }),点击时该怎么取出来?

我来解答 赞 10 收藏
二维码
手机扫码查看
1 条解答
家乐 Dev
点击事件的回调里用 event.target.getExtData() 就能拿到你 set 的数据,别从 event 里找,要从 marker 本身取:

marker.on('click', function(event) {
const shopName = event.target.getExtData().shopName;
console.log(shopName); // 输出:旗舰店

// 弹窗或者做其他操作
const infoWindow = new AMap.InfoWindow({
content: shopName,
offset: new AMap.Pixel(0, -30)
});
infoWindow.open(map, event.target.getPosition());
});


event.target 就是被点击的那个 marker 实例,getExtData() 返回你之前 set 进去的对象。
点赞
2026-03-16 21:18