有没有更好的方法在传单中的 "popupopen" 事件上获取源标记?
Is there any better way to get source marker on "popupopen" event in leaflet?
所以我现在是这样做的:
map.on('popupopen', ({ popup }) => {
if (popup instanceof L.Popup) {
const marker = popup._source as L.Marker;
}
});
我真的不喜欢访问传单中的私有变量。我仍然没有在传单中找到 api clean 方法来获取绑定到活动弹出窗口的标记。
更好的方法是在标记 popupopen 上发出新事件并从任何你想要的地方访问它。
popupopen: () => {
map.fire('someevent', { somemarker });
},
map.on({
'someevent': (event) => {} // <- event has marker
});
所以我现在是这样做的:
map.on('popupopen', ({ popup }) => {
if (popup instanceof L.Popup) {
const marker = popup._source as L.Marker;
}
});
我真的不喜欢访问传单中的私有变量。我仍然没有在传单中找到 api clean 方法来获取绑定到活动弹出窗口的标记。
更好的方法是在标记 popupopen 上发出新事件并从任何你想要的地方访问它。
popupopen: () => {
map.fire('someevent', { somemarker });
},
map.on({
'someevent': (event) => {} // <- event has marker
});