【问题标题】:Adding overlapping annotations to map向地图添加重叠注释
【发布时间】:2014-01-03 08:32:27
【问题描述】:

我有一个坐标数组,并且我已经知道如何将它作为注释添加到地图上。 我现在想做的是:

  1. 每个注释都应该是一个红色圆圈(无针脚),表示坐标周围 1 公里的固定半径。这意味着,如果我放大或缩小地图,圆圈应自行调整以始终代表 1 公里半径;
  2. 如果两个或多个圆圈重叠,它们的颜色强度应该增加。例如,三个或四个重叠的圆圈会产生一个实心红色圆圈。

就是这样。我不知道从哪里开始,所以任何帮助将不胜感激。

【问题讨论】:

    标签: ios map mkannotation


    【解决方案1】:

    对于初学者,您可以使用以下代码,但您必须稍微调整一下才能使用它:

    in .h file confirm to MKMapViewDelegate
    
    @interface MapViewController : UIViewController <MKMapViewDelegate>
    

    那么,

    in "viewDidLoad"
    CLLocationCoordinate2D center = {X cordinate, Y cordinate};
    //--> Add  overlay
    MKCircle *mCircle = [MKCircle circleWithCenterCoordinate:center radius:1000]; //set radius    as per your need
    [self.mapView addOverlay:mCircle];
    

    那么,

    - (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay
    {
       MKCircleView *cirView = [[MKCircleView alloc] initWithOverlay:overlay];
       [cirView setFillColor:[UIColor redColor]];
       [cirView setStrokeColor:[UIColor blackColor]];
       [cirView setAlpha:0.3f];
        return cirView;
    }
    

    我认为这应该让你开始。

    【讨论】:

    • 非常感谢,我现在就试试。
    • 好的,它运行良好。我只消除了strokeColor,因为我不喜欢它。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    相关资源
    最近更新 更多