सहायता अब जरूरत पर MKOverlayView साथ चाप/वक्र रेखा खींचना। मैं MKPolyline और MKPolylineView साथ लाइनों आकर्षित कर सकते हैं, लेकिन कैसे MKMapView पर दो निर्देशांकों के बीच एक चाप या वक्र लाइनों आकर्षित करने के लिए? ग्रेट धन्यवाद।कैसे MKMapView
अंतिम समाधान
अंत में मैं अपने आप को इन निष्कर्षों यहाँ लिखा था, जो यह चाहते हैं।
आप करना चाहते हैं:
तो मानचित्र पर ओवरले के रूप में चाप पथ और छवि गठबंधन
- बस नक्शे पर चाप पथ आरेखित समाधान हैं:
- वहाँ MKPolyline और MKPolylineView, MKPolygon और MKPolygonView बहुभुज आकर्षित करने के लिए लाइनों आकर्षित करने के लिए, MKCircle और MKCircleView हलकों आकर्षित करने के लिए कर रहे हैं। कोई फिट नहीं है? एक चाप कहाँ है? अरे हाँ। अब वास्तव में समाधान: आप -createPath में आपके द्वारा बनाए गए एक चाप का उपयोग CGContextAddArcToPoint या दूसरों कार्यों आप की तरह से प्राप्त MKOverlayPathView एक कस्टम वर्ग बना सकते हैं और ओवरराइड -createPath विधि, और पथ सिर्फ सहयोगी आप MKOverlayPathView की राह संपत्ति को बनाने और कस्टम काम करता है किया जाता है। फिर आप मानचित्र में एमकेपोलीलाइन जोड़ते हैं (हां! बस एमकेपोलीलाइन!), फिर -mapView: viewForOverlay: विधि जिसे आप कस्टम क्लास बनाते हैं वह पॉलीलाइन लेते हैं। फिर, बस इसे चलाएं, जैसा चाहें सबकुछ चलता है। जादू? यदि आप एक MKPolyline एक चाप के रूप में आकर्षित कर सकते हैं!
- बस एक चित्र? MKAnnotationView का उपयोग करें। हो गया है! तुम कर सकते हो! मेरा मानना है कि!
- मेरी समस्या में, मैं ओवरले में एक छवि के साथ एक चाप आकर्षित करना चाहता हूं। तो मैं एमकेओवरले प्रोटोकॉल के लिए एक कस्टम क्लास अनुरूप बनाता हूं, और उस ओवरले को आकर्षित करने के लिए MKOverlayView से प्राप्त एक कस्टम क्लास। सबकुछ ठीक काम करता है लेकिन मैं मानचित्र पर कोई रास्ता नहीं खींच सकता! मैंने लाइनविड्थ को 1,2,3,4 पर सेट किया है ... लेकिन यह काम नहीं कर रहा था! आह .. समाधान MKRoadWidthAtZoomScale (zoomScale) फ़ंक्शन के साथ लाइन चौड़ाई निर्धारित करता है और आप पथ देख सकते हैं! यही कारण है कि किया है ......
और यहाँ कुछ सुझाव:
- उपयोग कोर ग्राफिक पथ, नहीं MapKit निर्देशांक और न ही UIView निर्देशांक आकर्षित करने के लिए!
- तटरक्षक कार्यों बस मन में रेखा की चौड़ाई रखने में इस समारोह से परिवर्तित किया जाना चाहिए: MKRoadWidthAtZoomScale (zoomScale)
- आशा प्रलेखन पढ़ना मदद करने के लिए
हाय, मैं अपने मानचित्र पर एक मात्र आर्क पथ खींचने के लिए अपना समाधान कोशिश कर रहा हूं लेकिन मुझे कुछ समस्याएं आ रही हैं ... क्या आप मुझे कुछ कोड दिखा सकते हैं क्योंकि मुझे वास्तव में अपने ऐप में ऐसा करने की ज़रूरत है और अब तक कोई भी कार्यप्रणाली पाएं ... अग्रिम धन्यवाद! बेन – Ben
हाय, @ बेन। और आप अपने मानचित्र पर क्या आकर्षित करना चाहते हैं? – Shiny
धन्यवाद! भाग 1 में आपका क्या मतलब है जब आप कहते हैं: "फिर -mapView में: viewForOverlay: विधि जिसे आप कस्टम क्लास बनाते हैं वह पॉलीलाइन लेते हैं।" क्या मुझे करना चाहिए: [[कस्टम-क्लास आवंटन] initWithOverlay: द-मकोलीलाइन-ओवरले] – spiralstairs