我的问题可能看起来有点复杂,但让我澄清一下。我正在使用 mkmapview ,在此我想用蓝点和圆圈显示当前用户位置,但这并不是我真正想要的。当我正在制作一个 iPhone 应用程序时,因为我是地图集成的新手,所以我很难做同样的事情。如果有人可以为我提供其演示的链接或可以解释我如何用带圆圈的蓝点显示用户位置在地图上,那对我有很大帮助。提前致谢
4 回答
这是 MKMapView 类的属性之一。默认值为 No,因此只需在代码中将其设置为 YES。
请注意,如果您在 Storyboard 中的 ViewController 上添加 MapView,请查看属性检查器,默认情况下,您的 MapView 上会检查其他注释(建筑物、兴趣点),但用户位置除外。我花了一段时间才找到这个,感觉就像我在玩捉迷藏,不知道为什么不检查它如此重要。
self.mapView.showsUserLocation = YES;
正如thexande提到的,对于 swift3,您必须将其设置为 true:
self.mapView.showsUserLocation = true;
将此添加到 viewForAnnotation 方法的顶部:
if ([annotation isKindOfClass:[MKUserLocation class]])
return nil;
特殊的用户位置注释是 MKUserLocation 类型,在这种情况下返回 nil 会告诉地图视图为其绘制默认视图,即蓝点。并进入 MKMapview 属性并检查显示用户位置....
对于 SWIFT 3
if (annotation.isKind(of: MKUserLocation.self)){
return nil
}
这将允许您在 swift 3 中为您的用户位置显示一个蓝点。
将此代码放在mapView viewFor annotation func
@Ohmy 的答案是正确的,但在我的程序中情况不同:
从 iOS10 开始,您需要根据您的要求添加NSLocationWhenInUseUsageDescription
或 NSLocationAlwaysUsageDescription
键入您的应用程序。Info.plist