如何在mkmapview上禁用用户互动?

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

如何将用户交互禁用到iOS中的整个地图(MKMAPVIEW)?我只想禁用缩放,敲击等,并显示静态地图。

[self.mapView setUserInteractionEnabled:NO]
不起作用。在堆栈上没有通过Google或其他答案找到工作解决方案(如果找到工作答案,请链接。)。定位iOS 5。应该有一种更简单的方法来完成此操作。

ios objective-c mkmapview mapkit
4个回答
88
投票
关键是禁用缩放和滚动。

在Objective-C:

self.mapView.zoomEnabled = false; self.mapView.scrollEnabled = false; self.mapView.userInteractionEnabled = false;

或迅速:

mapView.isZoomEnabled = false mapView.isScrollEnabled = false mapView.isUserInteractionEnabled = false

通过方式,如果您想要静态地图,则可以考虑使用

MKMapSnapshotter

。这创建了地图的图像表示。如果您有注释或覆盖层,则必须手动渲染它们,但是,根据您的用例,MAP快照可能可以完成工作。
    
您可以在接口构建器中这样做:


21
投票

Like this这个小技巧如何! 只需将所有相同的框架详细信息放在

UIView

1
投票
MKMapView

应为

backgroundColor
    
您可以将MkannotationView的启用属性设置为no
对于禁用Zoom,您可以设置
clearColor


0
投票

enabled

表示注释是否已启用的布尔值。

mapView.zoomEnabled = FALSE;

discussion

该属性的默认值是肯定的。如果此属性的值否,则注释视图忽略了触摸事件,而不能选择。子类还可以根据该属性的值显示不同的注释内容。

我知道这是一个非常古老的线程,但答案是一个简单的修饰符

在地图对象中。 这将禁用所有地图交互。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.