我有一个mapView
我要在其中显示用户的当前位置。但是,我不希望将mapView
置于该位置的中心(它位于其他位置的中心)。因此,由于这个原因,我没有获得用户设置区域的位置坐标。我只需要调用showsUserLocation
并将其设置为true。一切正常,除了这使得mapView
显示用户的当前位置就像一个引脚。我希望它是一个默认蓝点的形式。
与上述问题相关,我有两个问题: 1)为什么它将用户的当前位置显示为引脚? 2)如何让用户将当前位置显示为蓝点?
如果您知道这些问题的答案(或仅知道其中一个问题),我将非常感谢您的帮助。
答案 0 :(得分:2)
一切都取决于您对地图视图委托mapView(_:viewFor:)
的实施情况。你可能正在返回一个pin注释。
您可以通过检查其类(MKUserLocation)来区分地图视图提供的注释作为用户的位置。如果您想要默认的蓝点,请返回该类的nil
。
答案 1 :(得分:0)
我们需要检查注解的类型,如果是用户位置不想返回pin:
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if annotation is MKUserLocation {
return nil
}
[... code for the other annotations ... ]
}
现在您将看到您的位置为一个经典的蓝点。