मैं MKPolylineView
पर एक अच्छा MKPolyline
खींचने का प्रयास कर रहा हूं। सब कुछ महान अब तक जा रहा है - पॉलीलाइन खींचता है मैं इसे करना चाहते हैं और बस के रूप में जब मैं इसे निम्नलिखित कोड का उपयोग कर करना चाहते हैं:ड्रा MKPolyline रंग भरें
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay {
MKOverlayView* overlayView = nil;
self.routeLineView = [[MKPolylineView alloc] initWithPolyline:[self routeLine]];
[[self routeLineView] setFillColor:[UIColor colorWithRed:167/255.0f green:210/255.0f blue:244/255.0f alpha:1.0]];
[[self routeLineView] setStrokeColor:[UIColor colorWithRed:0/255.0f green:136/255.0f blue:255/255.0f alpha:1.0]];
[[self routeLineView] setLineWidth:15.0];
[[self routeLineView] setLineCap:kCGLineCapRound];
overlayView = [self routeLineView];
return overlayView;
}
:
[[self map] addOverlay:routeLine];
और इस विधि यह कैसे आकर्षित करने के लिए एप्लिकेशन को बताने के लिए
परिणामस्वरूप मुझे एक ठोस नीले रंग की रेखा मिलती है। मैं जो नीला देखता हूं वह स्ट्रोक के साथ भरने वाला रंग नहीं है, मैं उम्मीद कर रहा हूं - यह स्ट्रोक रंग का नीला है। जब मैं इस विधि का उपयोग करता हूं तो कोई भरने का रंग नहीं होता है। पॉलीलाइन पर भरने वाले रंग को क्यों नहीं खींचता है?
आगे की जांच के बाद, मैं Xcode के त्वरित सहायता खंड में जानकारी के इस tidbit पाया:
MKPolylineView वर्ग एक MKPolyline एनोटेशन वस्तु के लिए दृश्य प्रतिनिधित्व प्रदान करता है। यह दृश्य एनोटेशन द्वारा प्रतिनिधित्व पथ को स्ट्रोक करता है। (यह कक्षा पथ से संलग्न क्षेत्र को भरती नहीं है।) आप MKOverlayPathView क्लास से प्राप्त गुणों को संशोधित करके पथ के रंग और अन्य ड्राइंग विशेषताओं को बदल सकते हैं।
यह हास्यास्पद लगता है। मुझे इस कक्षा का उपयोग पर भरने के रंग का उपयोग करना है, लेकिन मैं इस वर्ग का उपयोग ड्रा भरने के रंग का उपयोग नहीं कर सकता? यह बहुत अजीब लगता है कि यह पहले से ही स्ट्रोक खींचता है। प्रलेखन से इस स्पष्टीकरण में आखिरी पंक्ति थोड़ा अस्पष्ट है लेकिन एक उत्तर प्रदान करने लगता है - मुझे बस जवाब देने में कठिनाई हो रही है। मेरे पास प्रोजेक्ट में MKOverlayPathView
नहीं है (वैसे भी क्या है?) लेकिन ऐसा लगता है कि यह समाधान है - क्या किसी को इसका उपयोग करने का तरीका पता है?
'' MKPolylineView' MKOverlayPathView' का एक उपवर्ग है। भले ही, आप 'MKPolygon'' (और 'MKPolylineView'' को 'MKPolyline' के बजाय) का उपयोग करना चाहते हैं। 'एमके पोलिगॉन' स्ट्रोक और भर दोनों को खींचता है। – Rob