如何在iPhone中的MKMapView中显示带圆点(圆圈)的蓝色图钉

时间:2013-01-04 10:31:08

标签: iphone mkmapview

我的问题可能看起来有点复杂,但让我澄清一下。我正在使用mkmapview,在此我想用蓝点和圆圈显示当前用户位置,但这并不是我想要的。当我正在制作一个iPhone应用程序时,SInce我是地图集成的新手,我很难做同样的事情。任何人都可以为我的演示提供一个链接或者可以解释我如何用圆圈显示蓝色圆点的用户位置在地图上然后它对我有很大的帮助。提前致谢

4 个答案:

答案 0 :(得分:7)

这是MKMapView类的属性之一。默认值为No,因此只需在代码中将其设置为YES即可。

请注意,如果将MapView添加到Storyboard中的ViewController,请查看属性检查器,默认情况下,MapView上的其他注释(建筑物,兴趣点)除了用户位置之外。我花了一段时间才发现这一点,感觉我正在玩捉迷藏,不知道为什么让这个不受限制如此重要。

self.mapView.showsUserLocation = YES;

提到thexande时,对于swift3,您必须将其设置为true:

self.mapView.showsUserLocation = true;

答案 1 :(得分:4)

适用于SWIFT 3

if (annotation.isKind(of: MKUserLocation.self)){
        return nil
    }

这将允许您在swift 3中为用户的位置显示一个蓝点。

将此代码放在mapView viewFor annotation func

答案 2 :(得分:3)

将其添加到viewForAnnotation方法的顶部:

if ([annotation isKindOfClass:[MKUserLocation class]])
return nil;

特殊用户位置注释的类型为MKUserLocation,在这种情况下返回nil告诉地图视图为其绘制蓝点的默认视图。并进入MKMapview属性并检查show user location ....

答案 3 :(得分:1)

@Ohmy的回答是正确的,但在我的程序中,情况有所不同:

从iOS10开始,您需要根据自己的要求在应用NSLocationWhenInUseUsageDescription中添加NSLocationAlwaysUsageDescriptionInfo.plist键。