मैं Openlayers में एक सुविधा को कैसे अचयनित कर सकता हूं?


9

मैं निम्नलिखित पंक्ति का उपयोग करके अपने मानचित्र पर चयनित सुविधाओं की पहचान करने में सक्षम हूं:

vector_layer.selectedFeatures

मैं एक स्टैंडअलोन फ़ंक्शन (इवेंट-हैंडलर नहीं) का उपयोग करके इस सुविधा को रद्द करना चाहूंगा। मैंने फ़ंक्शन का उपयोग करने की कोशिश की है unselect()और unselectAll()असफल रूप से और इस दृष्टिकोण के किसी भी उदाहरण को नहीं पा सकता हूं ।

मुझे पता है कि चयनित वस्तु पर क्लिक करने के लिए इस्तेमाल किया जा सकता है unselect। इस मामले में मैं एक प्रोग्रामेटिक समाधान चाहता हूं।


यह काफी नहीं है कि मैं क्या करने की कोशिश कर रहा हूं, लेकिन unSelectमुद्दों पर यहां चर्चा की गई है: github.com/openlayers/openlayers/pull/486
djq

सुझाव के लिए धन्यवाद। मैंने इन्हें देखा है और अपनी ग्रिड परत के लिए इन्हें अनुकूलित करने का प्रयास किया है। जहाँ तक मैं बता सकता हूँ, पहले सुविधाओं को बनाने के लिए शामिल सुविधाओं के चयन के लिए हर उदाहरण। मैंने (अभी तक) एक कार्यशील उदाहरण नहीं देखा है जहां एक मौजूदा परत भरी हुई है और उपयोगकर्ता इस परत से सुविधाओं का चयन करता है। मुझे लगता है कि selectFeature केवल उन वैक्टर के लिए काम करना शुरू कर रहा है जो आप मक्खी पर बनाते हैं। मुझे उम्मीद है कि यह सच नहीं है अन्यथा मैं मुसीबत में हूं। ;)
user2378729

जवाबों:


13

OpenLayers 2: आप चयन प्रक्रिया नियंत्रण के अचयनित और अचयनित तरीकों के साथ सुविधाओं को अचयनित कर सकते हैं:

selectControl = new OpenLayers.Control.SelectFeature(vectorLayer);
...
map.addControls([selectControl]);
selectControl.activate();

// unselect any specific feature...
selectControl.unselect(vectorLayer.features[0]);
// ...or all features
selectControl.unselectAll();

यदि यह काम नहीं करता है, तो संभवतः आपके कोड में बग है।

यहाँ फिडेल है: http://jsfiddle.net/dHxnh/1/


मैं दस्तावेज में नहीं देखता ... लेकिन यह काम करता है!
पाकमन

1

Openlayers वस्तुओं अनदेखी - विभिन्न तरीकों

कई विशेषताओं का चयन करने के लिए शिफ्ट कुंजी का उपयोग करें। एक बार में एक पर सुविधाओं को चुनने के लिए ctrl कुंजी का उपयोग करें। नोट: "होवर" का चयन करने पर "क्लिकआउट" विकल्प का कोई प्रभाव नहीं पड़ता है

http://openlayers.org/dev/examples/select-feature.html

सुविधाओं को अचयनित करने के लिए क्लिक करें


1
क्षमा करें, शब्द प्रोग्रामेटिक जोड़ा जाना चाहिए था। मैं unselectएक फ़ंक्शन का उपयोग करना चाहता हूं , एक क्लिक नहीं।
djq
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.