अपने मार्कर से पॉपअप सामग्री कैसे अपडेट करें?


12

मैंने ऐसा करने के साथ एक पॉपअप बनाया:

marker.bindPopup(content).openPopup();

मैं contentबाद में मूल्य कैसे अपडेट कर सकता हूं ?

मुझे लगता है यह मार्कर से ऐसा करने के लिए, कुछ इस तरह से:

marker.updatePopup(newContent);

जवाबों:


10

मुझे लगता है कि आप चाहते हैं कि सामग्री किसी घटना के बाद बदल दी जाए, जैसे माउसओवर, रेफरेंस, या कुछ और।

ऐसा करने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं:

//marker creation
var marker = L.marker([44.63, 22.65]).bindPopup('something').addTo(map);
marker.openPopup();

//changing the content on mouseover
marker.on('mouseover', function(){
    marker._popup.setContent('something else')
});

जैसा कि आप देख सकते हैं, आप मार्कर._पॉप विधि का उपयोग करके वांछित मार्कर के लिए पॉपअप को बढ़ा सकते हैं, और उसके बाद पाठ को बदलने के लिए सेटकॉन्टेंट विधि का उपयोग कर सकते हैं।

popup.setContent विधि संदर्भ

यहां प्लंकर पर कुछ कोड प्रदर्शित किए गए हैं: http://plnkr.co/edit/vjS495QPXiJpKalrNpvo?p=preview


मैंने पाया कि माउसओवर में मुझे यह करने की ज़रूरत थी: this.getPopup.setContent ('blah blah blah);
theSteve0

15

_popupइसके सामने एक अंडरस्कोर है जो यह दर्शाता है कि यह एक निजी / सदस्य उदाहरण है, और इसे सीधे एक्सेस नहीं किया जाना चाहिए। सही API Layer.setPopupContent () है । जैसे marker.setPopupContent(newContent);


3

उत्तर देने में देर हो सकती है, लेकिन दूसरों के लिए, मुझे लगता है कि सबसे अच्छे तरीके यहां हैं

http://jsfiddle.net/cPTQF/

$('button').click(function() {
   // Update the contents of the popup
   $(popup._contentNode).html('The new content is much longer so the popup should update how it looks.');

   // Calling _updateLayout to the popup resizes to the new content
   popup._updateLayout();

   // Calling _updatePosition so the popup is centered.
   popup._updatePosition();
   return false;
});

मुझे पता है कि यह पुराना है, लेकिन यह मेरे Google खोज परिणामों में आया था, इसलिए इसका अर्थ है कि यह दूसरों के लिए भी हो सकता है ... इस पद्धति के साथ मुद्दा यह है कि # 1 यदि पॉपअप वर्तमान में खुला नहीं है, तो बटन क्लिक करें (या जो भी हो आप बाँध) को कुछ नह) ं करते। दूसरे, यदि आप पॉपअप को मंद कर देते हैं और फिर से क्लिक करते हैं, तो आपको मूल सामग्री मिलती है, नई सामग्री नहीं!
DR

1

आप के साथ पॉपअप सामग्री प्राप्त कर सकते हैं:

marker.getPopup().getContent();

इसके साथ सामग्री सेट करें:

marker.getPopup().setContent("123");
marker.getPopup().update();
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.