2012-04-02 39 views

回答

2

對於畫面中的獨一無二的戒指,你不需要創建自定義覆蓋。

要繪製基本環,請添加一個MKCircle及其MKCircleView,根據您想要的環厚度設置lineWidth

//Create the MKCircle (could be in viewDidLoad)... 
MKCircle *c = [MKCircle circleWithCenterCoordinate: 
        CLLocationCoordinate2DMake(someLat, someLong) 
        radius:2000]; 
[myMapView addOverlay:c]; 


//In viewForOverlay delegate method, return a MKCircleView... 
-(MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay 
{ 
    if ([overlay isKindOfClass:[MKCircle class]]) 
    { 
     MKCircleView *cv = [[MKCircleView alloc] initWithCircle:overlay]; 
     cv.lineWidth = 15; // <-- controls thickness of ring 
     cv.strokeColor = [UIColor greenColor]; 
     cv.alpha = 0.75; 
     return cv; 
    } 

    return nil; 
} 
+0

是.lineWidth in Pixels? – TimoP 2012-04-02 16:28:59

+0

我認爲這是點,但實質上是。它會根據縮放級別自動縮放。 – Anna 2012-04-02 16:41:16

+0

好的,謝謝。例如,我需要一個距離地圖上某點30米距離的10米寬的區域。我試試這個。 – TimoP 2012-04-02 17:00:08