2013-04-15 73 views
1

我试图加入IOS MapView的圆形覆盖,鉴于没有负载我添加以下代码添加圆形覆盖到的MapView

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(53.809638, -1.554586); 
    MKCircle *circle = [MKCircle circleWithCenterCoordinate:center radius:1000]; 
    circle.title = @"University of Leeds"; 
    [self.map addOverlay:circle]; 

,也包括委托函数

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay { 
    if ([overlay isKindOfClass:[MKCircle class]]) { 
     MKCircleView *circleView = [[MKCircleView alloc] initWithCircle:(MKCircle*)overlay]; 
     circleView.fillColor = [[UIColor redColor] colorWithAlphaComponent:0.2]; 
     circleView.strokeColor = [[UIColor redColor] colorWithAlphaComponent:0.7]; 
     circleView.lineWidth = 2; 
     return circleView; 
    } 

但它的不工作为什么? 谢谢

回答

1

是您的map代表集? 如果您在界面生成器中创建地图:请检查您的地图是否已正确连接。

(注意,半径以米为单位)

0

你必须要实现哪些应该创建一个MKCircleRenderer方法GetOverlayRenderer。下面是Xamarin中的一个例子。

MKOverlayRenderer GetOverlayRenderer(MKMapView _nativeMapView, IMKOverlay overlay) 
{ 
    if (overlay is MKCircle) 
    { 
     // Create a renderer if needed 
     if (_circleRenderer == null) 
     { 
      _circleRenderer = new MKCircleRenderer(overlay as MKCircle); 
      _circleRenderer.FillColor = UIColor.Red; 
      _circleRenderer.Alpha = 0.3f; 
     } 
     return _circleRenderer; 
    }