Leaflet.js:将活动链接到地图标记
Leaflet.js: Linking Activities to Map Markers
我正在使用 Leaflet.js 使用 php 从数据库中提取的 latlng 坐标在地图上显示标记。
我在左侧边栏上有一个活动列表,我想link将这些与地图标记放在一起。
我遇到了困难:
如果你在侧边栏的 activity 上 hover/click,正确的标记会做一些事情,比如弹出窗口或漂亮的动画。
http://meteaydin.co.uk/tourism/itinerary.php
这是一个link,你可以在这里看到我有什么。
如果您能帮助我实现这一目标,我将不胜感激。
谢谢
您可以在 link 中留下对标记的引用,反之亦然。检查以下示例:
创建一个标记和一个 link:
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;
然后将事件添加到您的 link 并在处理程序中使用标记引用:
L.DomEvent.addListener(link, 'mouseover', function () {
this.marker.openPopup();
});
L.DomEvent.addListener(link, 'mouseout', function () {
this.marker.closePopup();
});
反之亦然,将处理程序附加到标记并使用引用的 link 做一些事情:
marker.on('mouseover', function () {
L.DomUtil.addClass(this.link, 'hover');
});
marker.on('mouseout', function () {
L.DomUtil.removeClass(this.link, 'hover');
});
我正在使用 Leaflet.js 使用 php 从数据库中提取的 latlng 坐标在地图上显示标记。
我在左侧边栏上有一个活动列表,我想link将这些与地图标记放在一起。
我遇到了困难: 如果你在侧边栏的 activity 上 hover/click,正确的标记会做一些事情,比如弹出窗口或漂亮的动画。
http://meteaydin.co.uk/tourism/itinerary.php
这是一个link,你可以在这里看到我有什么。
如果您能帮助我实现这一目标,我将不胜感激。
谢谢
您可以在 link 中留下对标记的引用,反之亦然。检查以下示例:
创建一个标记和一个 link:
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;
然后将事件添加到您的 link 并在处理程序中使用标记引用:
L.DomEvent.addListener(link, 'mouseover', function () {
this.marker.openPopup();
});
L.DomEvent.addListener(link, 'mouseout', function () {
this.marker.closePopup();
});
反之亦然,将处理程序附加到标记并使用引用的 link 做一些事情:
marker.on('mouseover', function () {
L.DomUtil.addClass(this.link, 'hover');
});
marker.on('mouseout', function () {
L.DomUtil.removeClass(this.link, 'hover');
});