Swift 删除 MKMap 视图上的“我的位置”注释

Posted

技术标签:

【中文标题】Swift 删除 MKMap 视图上的“我的位置”注释【英文标题】:Swift Removing the "My Location" Annotation on MKMap View 【发布时间】:2018-05-13 15:14:17 【问题描述】:

问题:

我希望禁止触摸用户位置以阻止“我的位置”注释


我一直在寻找解决方案一段时间,经过广泛的在线研究,我什至还没有找到这个问题。

我创建了一个用 Swift 编写的移动应用程序,其中 MKMap 视图上有注释。我遇到的问题是当用户选择他们附近的笔记时,它有时会显示此“我的位置”注释,以显示正确的笔记。

我确定有办法阻止这个注释,我已经写了一个语句来帮助我识别弹出窗口

        if (((view.annotation?.title)!)! == "My Location")
            print("wrong annotation selected")

有什么方法可以禁用对用户位置图标的触摸?

我已经用

改变了圆圈的颜色
map.tintColor = UIColor(red:0.19, green:0.69, blue:0.73, alpha:1.0)

所以我在想可能会有一个

map.UserLocationTouch = false 

或类似的东西。

【问题讨论】:

实现 viewForAnnotation 委托方法,然后您可以为用户位置注释返回自己的注释视图 或者你可以简单地通过将showsUserLocation属性设置为false来隐藏用户位置 @Paulw11 我想保留用户位置,它是必需的,因为如果您远离它们,有些笔记将无法打开。 注释是注释吗?为什么用户位置的标注有问题? 注释通常会打开一个新窗口,其中包含信息。用户需要在 30 米范围内才能打开便笺,因此他们通常必须在图像上方。如果他们离得太近,他们会不小心点击他们当前的位置,这会阻止新窗口打开并显示上图。 【参考方案1】:

mapView.userLocation.title = ""

并且按下时不会出现注释。

【讨论】:

【参考方案2】:

嘿,有一个更新的简单解决方案:

.Net for ios (Xamarin.iOS)

NativeMap.UserLocation.Title = "";

斯威夫特:

mapView.userLocation.title = "";

问候 ;)

【讨论】:

请不要对多个问题发布相同的答案。相反,针对所提出的问题定制答案。如果问题彼此完全相同,请投票/标记以关闭。

以上是关于Swift 删除 MKMap 视图上的“我的位置”注释的主要内容,如果未能解决你的问题,请参考以下文章

尝试从数组中的值中删除基于 MKMap 的引脚

Mkmap查看用户位置

使用 mkmap 加载地图时显示标题

在 xamarin ios 中使用 MkMap 不会出现路线

Swift - 如何从 NavigationController 中删除视图控制器?

计算我的位置和 Swift 上的 MapKit 引脚之间的距离