2011-11-21 15 views
6

मैं ओपनलेयर का उपयोग कर रहा हूं और DrawFeature और OpenLayers का उपयोग करके लाइनों को आकर्षित करने में सक्षम हूं। हैंडलर.पैथ। अब मुझे क्षैतिज/लंबवत रेखाओं को आकर्षित करने में सक्षम होने के लिए एक विकल्प प्रदान करने की आवश्यकता है। जिसका मतलब है कि जब उपयोगकर्ता रेखा रेखाचित्र शुरू करता है और माउस को कोण पर ले जाता है, यदि कोण x अक्ष से 45 डिग्री से कम है तो यह केवल क्षैतिज ड्रॉ करेगा और यदि कोण 45 डिग्री से अधिक है तो यह लंबवत रेखाएं बनाना शुरू कर देगा।ओपनलेयर में क्षैतिज रेखाएं कैसे आकर्षित करें?

यह कैसे करें इस पर कोई विचार है?

उत्तर

1

एक मुश्किल है। मुझे लगता है कि आपको किसी भी तरह से कई नियंत्रणों को जोड़ना चाहिए

मैं उस समय दो छुपे हुए वैक्टर तैयार करने की कोशिश करता हूं जब आप ड्राइंग शुरू करना चाहते हैं। क्षैतिज अक्ष के लिए एक वेक्टर और लंबवत के लिए एक। वे आपके शुरुआती बिंदु पर छेड़छाड़ करते हैं

वास्तविक रेखा जिसे आप आकर्षित करना चाहते हैं, इन वैक्टरों में से किसी एक को स्नैप करना चाहिए। http://dev.openlayers.org/docs/files/OpenLayers/Control/Snapping-js.html

आप स्नैप करना उदाहरणों पर एक नज़र ले जा सकते हैं: http://www.openlayers.org/dev/examples/snap-grid.html, http://www.openlayers.org/dev/examples/wfs-snap-split.html

फर्क सिर्फ इतना है कि आप केवल 'ग्रिड' आकर्षित कर सकते हैं यदि आप मूल पता है। मैं एक उदाहरण के साथ शुरू करूंगा जो आपको लगता है।

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