如何在Mapkit中增加userLocation注解的半径

我的应用程序需要用户权限并将地图移动到该位置。 并在该位置默认情况下MapKit添加一个蓝色的图标,这是产生一些脉冲。
我search了一下,但是我发现如何在userLocation周围添加一个1000米的圆。 我不要那个。 你可以说我正在寻找自定义userLocation默认annotation 。 它产生的蓝色脉冲我想增加这个radius 。 当这个蓝色的脉冲击中一个自定义annotation ,应该有一个触发的方法。 那么如何实现呢?

不幸的是,你不能简单地改变标准注释的行为; 您需要自行接pipe注解视图的显示。

用户位置是MKUserLocationtypes的映射注释。 如果您实现了MKMapViewDelegate方法viewForAnnotation并且该地图显示了用户的位置,那么将使用MKUserLocation的实例调用委托方法 – 您的职责是返回nil ,在这种情况下将显示标准注释视图,或返回将会显示MKAnnotationView实例。

你可以编写如下代码:

 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation { if ([annotation isKindOfClass:[MKUserLocation class]]) { return [[MyPulsingViewAnnotation alloc] initWithUserLocation:annotation]; } return nil; } 

对于“脉冲”与另一个注释相交的情况下执行某些animation,您需要将其他注释位置传递给脉冲视图,并在运行animation时检查坐标。