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

问题描述 投票:7回答:4

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

iphone mkmapview
4个回答
7
投票

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

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

self.mapView.showsUserLocation = YES;

正如thexande所提到的,对于swift3,你必须将其设置为true:

self.mapView.showsUserLocation = true;

4
投票

对于SWIFT 3

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

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

将此代码放在mapView viewFor注释函数中


3
投票

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

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

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


1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.