2010-07-03 15 views
14

मैं एक ऑब्जेक्ट के आंदोलन को अनुकरण करने के लिए समय-समय पर अद्यतन पॉलीलाइन (एमकेपोलीलाइन) ओवरले बनाने की कोशिश कर रहा हूं। मैं पुराने ओवरले को हटाकर, पॉलीलाइन को अपडेट करके और ओवरले को फिर से जोड़कर इसे प्राप्त कर सकता हूं, लेकिन इससे झटके लगते हैं।एमकेपोलीलाइन/एमकेपोलीलाइन व्यू को कैसे अपडेट करें?

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

क्या यह किसी भी ओवरले के लिए भी संभव है?

+0

मैं पोस्ट किया है एक पूर्ण कार्यान्वयन [यहां] [1] [1]: http://stackoverflow.com/questions/11282271/draw-line-on-mkmapview-with-pattern -मेज/11344230 # 11344230 – EsbenB

उत्तर

15

हाँ, आपको अपने अंतिम बिंदु से अपने अंतिम बिंदु के बिंदु सेट के साथ एक अतिरिक्त ओवरले जोड़ना होगा। एक बार जब आप अपने पॉइंट्स के साथ एमके पॉलीलाइन बनाते हैं, तो आप पुराने को हटाने और नए बनाए गए एक को जोड़ने के बिना MKPolylineView खींचते समय इसे बदलने में सक्षम नहीं होते हैं।

आप सभी बिंदुओं (नए सहित) के साथ एक नया पॉलीलाइन दृश्य बना सकते हैं और इसे मानचित्र में जोड़ सकते हैं लेकिन पुराने को हटा नहीं सकते हैं। फिर एक बार नया जोड़ा जाता है, तो आप पुराने छोटे को हटा सकते हैं। यह लागू करने के लिए सुंदर नहीं हो सकता है लेकिन इसे अद्यतनों पर चमकती छुटकारा पाना चाहिए। आप पुराने और नए को टैग के साथ अलग कर सकते हैं। टैग के रूप में शायद एक बिंदु गिनती होगी।

+0

आपके उत्तर के लिए धन्यवाद। मैंने इसे आपके द्वारा सुझाए गए तरीके से लागू किया है और यह बहुत अच्छी तरह से काम कर रहा है। जैसा कि आप कहते हैं, सबसे सुंदर कार्यान्वयन नहीं, लेकिन शायद सबसे अच्छा मैं अपनी पॉलिलाइन कक्षाओं को लिखने के बिना कर सकता हूं। – adriaan

+0

उत्तर के लिए धन्यवाद। दुर्भाग्य से यह शायद मेरी समस्या का समाधान नहीं करता है, क्योंकि मेरा ओवरले अर्द्ध पारदर्शी है। मुझे शायद मानचित्र के शीर्ष पर अपना खुद का दृश्य जोड़ना होगा। – huggie

+0

धन्यवाद एटमोटियट! – james075

1

एमकेपोलीलाइन क्लास एमकेएमल्टीआईपॉइंट को विरासत में लेता है, जिसमें अंक का एक सेट होता है। यह एक ऐसी संपत्ति है जो केवल पढ़ने के लिए है, जिसका अर्थ है, दुर्भाग्यवश, आप इसे अपडेट नहीं कर सकते हैं।

+0

आपके उत्तर पीटर के लिए धन्यवाद। समझ में आता है। – adriaan

9

मैपकिट ओवरले के सभी अपरिवर्तनीय हैं ताकि उत्परिवर्तन प्राप्त करने के लिए आपको अपना कस्टम ओवरले बनाने और केवल उस क्षेत्र को फिर से निकालना होगा जिसे अद्यतन करने की आवश्यकता है।

आप ऐप्पल से ब्रेडक्रंब नमूना अनुप्रयोग उदाहरण में एक उदाहरण पा सकते हैं। Breadcrumb link

+0

धन्यवाद @ सोरीना - जैसा कि मैंने बताया है कि मैं उस समय @ एटमोटियट के दृष्टिकोण के साथ गया था। लेकिन ऐप के अगले अपडेट में मैं यह देखने के लिए कि क्या यह सुधार हो सकता है, ब्रेडक्रंब नमूना देखेंगे। – adriaan

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