2013-01-03 24 views
5

पर क्लिक करें मेरे पास geoJSON का उपयोग करके मेरे मानचित्र पर कई अंक लगाए गए हैं। जब आप किसी बिंदु पर क्लिक करते हैं, तो नक्शा बिंदु पर ज़ूम करता है और किसी अन्य div में कुछ जानकारी खींचता है। जब मैं माउसओवर ईवेंट पर पॉपअप डालता हूं, तो मेरा क्लिक फ़ंक्शन अब काम नहीं करता है।माउसओवर पर लीफलेट पॉपअप हटाएं ईवेंट

function fillInfo(e) { 
     var layer = e.target; 

     document.getElementById('infoBox').innerHTML = '<h2>' + layer.feature.properties.name + '</h2>' + '<h3>' + layer.feature.properties.address + '</h3></p>' 
     } 
     //Variable to set zoom level on click 
     var southLat = layer.feature.geometry.coordinates[0] + .022438; 
     var southLong = layer.feature.geometry.coordinates[1] - .003235; 

     var northLat = layer.feature.geometry.coordinates[0] - .022438; 
     var northLong = layer.feature.geometry.coordinates[1] + .003235; 

     map.fitBounds([[southLong, southLat], [northLong, northLat]]); 


    }​ 

यहाँ मेरी माउसओवर समारोह है:

यहाँ मेरी क्लिक समारोह है

 function highlightFeature(e) { 
     var layer = e.target; 

     layer.bindPopup(layer.feature.properties.name) 
      .openPopup(); 


     layer.setStyle({ 
      weight: 5, 
      color: '#666', 
      dashArray: '', 
      fillOpacity: 0.7 
     }); 



     if (!L.Browser.ie && !L.Browser.opera) { 
      layer.bringToFront(); 
     } 

    } 

और यहाँ मैं उन्हें:

function onEachFeature(feature, layer) { 
     layer.on({ 
      click: fillInfo, 
      mouseover: highlightFeature, 
      mouseout: resetHighlight 
     }); 
    } 

इस पॉपअप ठीक पर काम हो जाता है रोलओवर, लेकिन बिंदु अब क्लिक घटना का जवाब नहीं देता है।

उत्तर

2

पॉपअप के लिए ऑफ़सेट-प्रॉपर्टी है, डिफ़ॉल्ट [0,6] पर सेट है, इसलिए पॉपअप बिंदु को कवर करता है (नोड जिसमें सफेद नीचे तीर तीर से बड़ा होता है), और आप सक्षम नहीं होंगे बिंदु पर क्लिक करने के लिए।

सेट पॉपअप की ऑफसेट-विकल्प:

layer.bindPopup(layer.feature.properties.name,{offset:new L.Point(0,0)}) 
.openPopup(); 

L.Point लिए प्रदान की जाती दूसरा तर्क महत्वपूर्ण है, y- निर्देशांक पॉपअप ऊपर की तरफ ले जाने के लिए इस तर्क में कमी है।

+0

हाँ, ऐसा हुआ! बहुत बढ़िया, मदद के लिए धन्यवाद! – user1410712