我正在使用Leaflet.js使用从数据库中使用php拉入的latlng坐标在地图上显示标记。
我在左侧边栏上有一个活动列表,我想将这些活动与地图标记链接在一起。
我遇到这个困难: 如果您要悬停/单击侧栏上的某个活动,则正确的标记会执行某些操作,例如弹出窗口或漂亮的动画。
Introduction to Xamarin Forms - Navigation
这是一个链接,您可以在其中查看我的内容。
如果你能帮助我实现这一目标,我将不胜感激。
由于
答案 0 :(得分:1)
您可以在链接中留下对标记的引用,反之亦然。请检查以下示例:
创建标记和链接:
var marker = new L.Marker([0, 0]).bindPopup('My popup').addTo(map);
link = L.DomUtil.create('a', 'my-link', document.body);
link.href = '#';
link.textContent = 'My link';
创建彼此的引用:
link.marker = marker;
marker.link = link;
然后向链接添加事件并使用处理程序中的标记引用:
L.DomEvent.addListener(link, 'mouseover', function () {
this.marker.openPopup();
});
L.DomEvent.addListener(link, 'mouseout', function () {
this.marker.closePopup();
});
它也可以在其他方面工作,将处理程序附加到标记并使用引用的链接执行某些操作:
marker.on('mouseover', function () {
L.DomUtil.addClass(this.link, 'hover');
});
marker.on('mouseout', function () {
L.DomUtil.removeClass(this.link, 'hover');
});