2016-09-30 10 views
10

enter image description hereMKMapView ओवरले ड्राइंग रंग पैच आईओएस 10

मैं MKMapView से अधिक MKPolyLine ड्राइंग हूँ पता चलता है। आईओएस 10 ठीक काम कर रहा था इससे पहले। आईओएस 10 में मार्गों के अलावा अन्य रंग पैच दिखा रहा है।

- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay 
{ 
[![enter image description here][1]][1]if ([overlay isKindOfClass:[MKPolyline class]]) { 
    MKPolyline *route = overlay; 
    @try { 

     MKPolylineRenderer *routeRenderer = [[MKPolylineRenderer alloc] initWithPolyline:route]; 
     routeRenderer.strokeColor = [UIColor colorWithRed:20/255.0 green:153/255.0 blue:255/255.0 alpha:1.0]; 
     routeRenderer.lineWidth = 3; 
     [routeRenderer setNeedsDisplay]; 
     return routeRenderer; 
    } 
    @catch (NSException *exception) { 
     NSLog(@"exception :%@",exception.debugDescription); 
    } 

} 
else return nil; 
} 

उत्तर

1

आईओएस 10 बग की तरह दिखता है, मैं इस बग को "हैक" करने में काफी समय बिताता हूं।

मुझे केवल एक समाधान मिला जब मैंने एमकेपोलाइनलाइन को पुराना (पुराना हटा दिया और नया जोड़ा) इसे इसे प्रेषण में कॉल किया जाना चाहिए, ऐसा लगता है कि नक्शा आकार बनाने पर इसे फिर से खींचा जाना चाहिए। (Imho)

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1.5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ // Add MKPolyline to mapView });

मैं भी MKPolyline पुनः बनाने जब MapView प्रतिनिधि कॉल

- (void)mapViewDidFinishRenderingMap:(MKMapView *)mapView fullyRendered:(BOOL)fullyRendered

इसे और अधिक परीक्षण की आवश्यकता है, लेकिन यह यह

+0

ठीक है दोस्त, आपके उत्तर के लिए धन्यवाद। मैं जांच करूँगा और आपको – Mahendra

0

मैं एक ही समस्या का सामना करना काम करता है देखो, क्या मेरी समस्या हल हो गई है कि ओवरले जोड़ने वाले कोड को viewDidLoad से बुलाया गया था। एक बार जब मैं कोड को देखने के लिए कोड चला गया तो समस्या हल हो गई थी।

+0

अच्छी तरह से बता दूंगा ... यह पर्याप्त नहीं था। – dardi

+1

मुझे एमकेपोलाइनलाइनर और ओवरराइट का विस्तार करना पड़ा - (BOOL) canDrawMapRect: (MKMapRect) mapRect ज़ूमस्केल: (एमकेज़ूमस्केल) ज़ूमस्केल हमेशा YES को वापस करने के लिए। – dardi

+0

क्या आपने बूलियन को YES में सेट करने में समस्या हल की है? – GGirotto