如何在不更改Swift中默认位置图钉的情况下更改MapKit中的markerTintColor?

时间:2018-08-28 13:10:27

标签: ios swift annotations mapkit swift4

我有MKMarkerAnnotationView可以更改地图上图钉的颜色。

func mapView(_ MapView:MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView?{

    let view = MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: "pin")

    view.markerTintColor = .blue

    return view

}

但是,当我启动应用程序时,默认位置的标记将更改为。 如何在不更改此标记的情况下更改图钉? 查看位置的代码也很简单

 func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
{
    self.MapView.showsUserLocation = true
}

感谢您的回答! :)

2 个答案:

答案 0 :(得分:0)

在您的方法中,检查注释对象是否为MKUserLocation的实例。如果是,则返回nil以保留标准的用户位置注释视图。

mapView(_:viewFor:)的文档对此进行了说明。)

答案 1 :(得分:0)

您可以像这样检查注释是否是用户位置:

lane