2017-04-20 6 views
0

Ich möchte ein Popup auf Maus Hover anzeigen, ich möchte Namen auf Popup anzeigen, die aus der Array-Liste ausgewählt werden, habe ich mehrere Markierungen auf der Karte bei verschiedenen Latlon, jetzt möchte ich um ein popup anzuzeigen (welches name enthält), ist dies mein code, wo ich meinen distriktnamen auf mouse hover zeigen möchte, jetzt bekomme ich den popup text auf mouse hover aber ich weiß nicht wie ich anrufen kann Meine Array-Liste in Popup-content, kann jemand vorschlagen, was ich tun soll?Broschüre Maus Hover Popup durch Array Liste

var planes = [ 
     ["Jodhpur",26.28, 73.02], 
     ["Bikaner",28.0229,73.3119], 
     ["Churu",28.3254,74.4057], 
     ["Ganga Nagar",29.9038,73.8772], 
     ["Hanumangarh",29.1547,74.4995], 
     ["Jaisalmer", 26.9157,70.9083], 
     ["Jalore",25.1257,72.1416], 
     ["Jhunjhunu",28.1289,75.3995], 
     ["Nagaur",27.1854,74.0300], 
     ["Pali",25.7711, 73.3234], 
     ["Sikar",27.6094,75.1399], 
     ["Sirohi",24.7467,72.8043], 
     ["Barmer",25.7532,71.4181], 

     ]; 
     for (var i = 0; i < planes.length; i++) { 
      marker = new L.marker([planes[i][1],planes[i][2]],{icon: myIcon}).addTo(map).bindPopup('<div id="chart" class="chart"></div>'); 
    marker.on('click', onMarkerClick, this); 

    /*var currentMarker = planes[i][0]; 
    currentMarker.on('mouseover', currentMarker.openPopup.bind(currentMarker)); 
    */ 

    marker.on('mouseover', function(e) { 
    //open popup; 
    var popup = L.popup() 
    .setLatLng(e.latlng) 
    .setContent('Popup') 
    .openOn(map); 
}); 


    } 
+0

'. setContent() 'Art erzählt Ihnen everying – madalinivascu

+0

aber ich möchte meine Array-Liste Namen wie Jodhpur, Barmer etc. – user7843669

+0

Erstellen Sie eine Schließung innerhalb der Schleife, dann können Sie auf die Stadtteilnamen innerhalb der' Mouseover' Callback 'zugreifen (Funktion (Index) {... Ebenen [Index] [0] ...}) (i) ' – Titus

Antwort

0

Array Filter den Namen auf lat und/oder lng

marker.on('mouseover', function(e) { 
    var name = ""; 
    $.each(planes,function(i,v){ 
     if (v.indexOf(e.latlng[0]) > 0) {//test if the lat is in the array 
      name = v[0];//get the name 
     } 
    }) 

    var popup = L.popup() 
     .setLatLng(e.latlng) 
     .setContent('District: '+name) 
     .openOn(map); 
}) 

Hinweis auf Basis zurückzukehren: i e.latlng gehe davon ist eine Reihe von [lat, lng]

+0

thi s ist nicht Arbeit für mich.I platziert Marker durch Index-Ebenen [i] [1], Ebenen [i] [2], alles funktioniert, Mauszeiger auf Marker mit dem gleichen Popup-Text, aber ich will Popup nach Index . – user7843669

+0

was meinst du mit nicht arbeiten, was genau funktioniert nicht? – madalinivascu

+0

bei diesem Index gibt es Uncaught SyntaxError: Unerwartete Token [ – user7843669