मैंने एमकेसीरकल को एमकेओवरले के रूप में एमकेओवरले के रूप में जोड़ा है। इसके अलावा मैंने सर्कल के त्रिज्या का फैसला करने के लिए एक यूआईएसलाइडर जोड़ा। दुर्भाग्यवश इसका उपयोग करते समय यह थोड़ा "लगी" लगता है, जैसा कि मैं चाहता हूं उतना आसान नहीं।एमकेओवरले आसानी से आकार बदल नहीं रहा
उदाहरण: http://dl.dropbox.com/u/3077127/mkoverlayDelay.mov
यह मेरा कोड है:
- (void)addCircle
{
// draw the radius circle for the marker
double radius = 2000.0;
MKCircle *circle = [MKCircle circleWithCenterCoordinate:location radius:radius];
[circle setTitle:@"background"];
[mapView addOverlay:circle];
MKCircle *circleLine = [MKCircle circleWithCenterCoordinate:location radius:radius];
[circleLine setTitle:@"line"];
[mapView addOverlay:circleLine];
}
- (void)addCircleWithRadius:(double)radius
{
MKCircle *circle = [MKCircle circleWithCenterCoordinate:location radius:radius];
[circle setTitle:@"background"];
[mapView addOverlay:circle];
MKCircle *circleLine = [MKCircle circleWithCenterCoordinate:location radius:radius];
[circleLine setTitle:@"line"];
[mapView addOverlay:circleLine];
}
- (void)sliderChanged:(UISlider*)sender
{
[mapView removeOverlays:[mapView overlays]];
double radius = (sender.value * 100);
[self addCircleWithRadius:radius];
}
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay{
MKCircle *circle = overlay;
MKCircleView *circleView = [[[MKCircleView alloc] initWithCircle:overlay] autorelease];
if ([circle.title isEqualToString:@"background"])
{
circleView.fillColor = UIColorFromRGB(0x598DD3);
circleView.alpha = 0.25;
}
else
{
circleView.strokeColor = UIColorFromRGB(0x5C8AC7);
circleView.lineWidth = 2.0;
}
return circleView;
}
किसी को भी मैं यह कैसे smoothen कर सकते हैं पर कोई सुझाव हैं?
सादर,
पॉल Peelen
+1 अच्छी तरह से प्रलेखित प्रश्न के लिए +1। ओवरले को हटाने की कोई ज़रूरत है, क्यों न सिर्फ इसे अपडेट करें? –
धन्यवाद! मुझे नहीं लगता कि कोई ज़रूरत है .. लेकिन मैं ओवरले को कैसे अपडेट कर सकता हूं? –
मुझे यकीन नहीं है कि आप कर सकते हैं? मैंने हमेशा सोचा था कि मैपकिट ओवरले अपरिवर्तनीय थे, आप उन्हें बनाए जाने के बाद संशोधित नहीं कर सकते हैं। यह उत्तर वही सुझाता है: http://stackoverflow.com/questions/3171572/how-to-update-mkpolyline-mkpolylineview – lxt