2016-06-07 32 views
0

所以,我有這顯示在它幾標記,並有一些彈出消息的Mapquest服務單張地圖。然而,一切運作良好,但在地圖的下方,我有一張桌子,我正在顯示酒店號碼。所以像這樣與鏈接:如何獲得焦點的地圖之外,點擊一個鏈接時,地圖標記?

<a href='#Hotel22'>Hotel 22</a><a href='#Hotel23'>Hotel 23</a><a href='#Hotel24'>Hotel 24</a> 

所以,當#Hotel22任何用戶點擊,然後就會直接採取集中到地圖的particulare標記,開闢標記窗口。這樣用戶就會知道,酒店22在這裏在地圖上...

如果任何人知道這一點,所以我的地圖在單張但Mapquest服務單張API方式創建。至於因爲項目我上無法複製/粘貼這裏的一些複雜的代碼的....的

謝謝你在前進我的朋友。:)

+0

的可能的複製[如何與從地圖外小葉標記層交互?](http://stackoverflow.com/questions/13004226/how-to-interact-with-leaflet-marker-layer-from-outside -地圖) – HudsonPH

回答

0

基本上,你必須保持你的標記的關聯數組。

<a href="#" onclick="focusOn('paris')">Paris</a> 

// javascript 
var markers = {}; 
markers["paris"] = L.marker([48.85749, 2.35107]).addTo(mymap) 
.bindPopup("<b>Hello world!</b><br />I am Paris."); 

function focusOn(city) { 
    markers[city].openPopup(); 
} 

example

0

您可以通過自己的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 + '<tr id="row' + layerid + '" ' + 
          'onmouseover="over(' + layerid + ');" ' + 
          'onmouseout="out(' + layerid + ');">' + 
          '<td>' + c.name + '</td>' + 
          '</tr>'; 

然後在結束和結束功能中,您可以控制標記和列表。

 function over(id) { 
      srs.getLayer(id).setIcon(newicon); 
      $('#row' + id).css('backgroundImage', highlight); 
     } 

看到它在行動here

相關問題