2013-05-23 7 views
8

वर्तमान में हम gmaps के साथ एक पुस्तिका-प्रोजेक्ट पर काम कर रहे हैं और मुझे एक छोटी सी समस्या है।मैं मार्कर पॉपअप फिट करने के लिए मानचित्र खींचने से लीफलेट को कैसे रोक सकता हूं?

एकाधिक मार्कर जोड़ने के बाद (प्रत्येक पॉपअप के साथ) हम उन्हें सभी खोलना चाहते हैं।

इसलिए मैं कोड की शांति निम्नलिखित का उपयोग कर ऐसा करने के लिए:

L.Map = L.Map.extend({ 
    openPopup: function(popup) { 
    //  this.closePopup(); 
    this._popup = popup; 

    return this.addLayer(popup).fire('popupopen', { 
     popup: this._popup 
    }); 
    } 
}); 

pageload पर सब कुछ उम्मीद के रूप में काम करता है। pageload उपयोगकर्ता zooms in बाद

और कुछ मार्करों उपयोगकर्ता की out of the “view area” हैं:

लेकिन यहाँ असफल परिदृश्य आता है।

कुछ सेकंड बाद, वेबसाइट new position data (मार्करों के लिए) using a rest interface लोड करती है।

स्थिति डेटा प्रसारित करने के बाद, मैं वर्तमान में सभी मार्करों को हटा देता हूं और उन्हें प्रेषित स्थितियों पर पुनर्निर्मित करता हूं और उन्हें खोलता हूं।

और यह marker.openPopup() ट्रिगर, map moves ताकि popup fits in the “view area” of the user

इस मामले में मैं prevent leaflet to drag the map कैसे कर सकता हूं?

उत्तर

11

मेरा मानना ​​है कि आप autoPan संपत्ति का जिक्र कर रहे हैं? एपीआई से: Set it to false if you don't want the map to do panning animation to fit the opened popup.

http://leafletjs.com/reference.html#popup

इसलिए जब आपका पॉपअप बनाने, बस विकल्प में पारित autoPan: false

+0

OMG ... मैं हमेशा it'sa बग, जो 'openAllPopUp' द्वारा प्रेरित किया गया था सोच रहा था -Hack। पॉपअप-ऑब्जेक्ट में कभी भी एक साधारण विकल्प के बारे में सोचा नहीं .. धन्यवाद yoU! – gies0r

संबंधित मुद्दे

 संबंधित मुद्दे