点击地图外的链接时如何获得焦点来映射标记?
所以,我有一张mapquest小册子的地图,上面显示了几个标记,并有一些弹出消息。 但是,一切运作良好但在地图下方我有一张桌子,我正在显示酒店号码。 所以这样的链接:
Hotel 22Hotel 23Hotel 24
因此,当任何用户点击#Hotel22时,它将直接将焦点映射到地图的特殊标记并打开标记窗口。 这样用户就会知道Hotel 22在这里…
如果有人知道这一点,那么我的地图是在传单中创建的,但是使用mapquest leaflet api方式。 因为项目我不能复制/粘贴一些复杂的代码….
谢谢先进的朋友。:)
您基本上必须维护标记的关联数组。
Paris // javascript var markers = {}; markers["paris"] = L.marker([48.85749, 2.35107]).addTo(mymap) .bindPopup("Hello world!
I am Paris."); function focusOn(city) { markers[city].openPopup(); }
见例子
您可以通过layerId引用标记。 在列表中引用它(如果要在滚动标记时列出要突出显示,则在标记上)。
marker = L.marker([c.shapePoints[0], c.shapePoints[1]]); srs.addLayer(marker); layerid = srs.getLayerId(marker); marker.on('mouseover', function(a){ over(srs.getLayerId(a.target)); }) .on('mouseout', function(a){ out(srs.getLayerId(a.target)); }) .bindPopup(c.name); tabletext = tabletext + '' + '' + c.name + ' ' + ' ';
然后在over和out函数中,您可以控制标记和列表。
function over(id) { srs.getLayer(id).setIcon(newicon); $('#row' + id).css('backgroundImage', highlight); }
在这里看到它。