Swift移除MKMapView上“My Location”标注

3
问题:
我希望禁止用户触摸自己的位置,以阻止“我的位置”注释。
解决方案:
我已经寻找解决方案很长一段时间了,在广泛的在线研究之后,我甚至没有找到这个问题的发帖。我创建了一个用Swift编写的移动应用程序,其中包含MKMapView上的笔记。我遇到的问题是,当用户选择附近的笔记时,有时会显示“我的位置”注释,而不是显示正确的笔记。我相信有一种方法可以阻止此注释,并且我已经编写了一条语句来帮助我识别弹出窗口。
        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代理方法,然后您可以为用户位置注释返回自己的注释视图。 - Paulw11
1
或者你可以通过将showsUserLocation属性设置为false来简单地隐藏用户位置。 - Paulw11
@Paulw11 我想保留用户位置,因为有些笔记如果你离它们太远就无法打开。 - Kevin Maldjian
这个注释是一个注解吗?为什么用户位置的调用是一个问题? - Paulw11
笔记通常会在新窗口中打开包含信息。用户需要在30米范围内才能打开笔记,因此他们通常必须在图像上方。如果他们离得太近,就会意外地点击当前位置,导致无法打开新窗口并显示图片。 - Kevin Maldjian
参见 https://dev59.com/6XM_5IYBdhLWcg3w-4Zg 了解一些重新排序注释视图的方法,以便您的注释位于顶部。 - Paulw11
2个回答

6

mapView.userLocation.title = ""

当您按下时,注释将不会出现。


0

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

.Net for iOS (Xamarin.iOS)

NativeMap.UserLocation.Title = "";

Swift:

mapView.userLocation.title = "";

祝好!;)


请勿在多个问题中发布完全相同的答案。相反,将答案量身定制为所问的问题。如果问题是完全重复的,请投票/标记关闭。 - Yunnosch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接