如何从Objective c中的MKMapKit中删除地图位置和注释

bat*_*007 3 objective-c mapkit ios mapkitannotation

嗨,我的项目中有一个 MapView,我需要从 MapView 中删除所有标签注释、地点。看起来像普通的地图视图

我尝试了以下代码,它工作正常,但我仍然得到一些建筑细节、街道名称和所有我想要的也被删除的只有用户位置可见

这是代码:

[mapView setShowsPointsOfInterest:NO];
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常并从 mapKit 中删除了默认位置图标,但没有删除所有图标和标签,如何从 MapKit 中删除所有默认图标和标签名称

Ger*_*tan 9

iOS 11开始,您可以设置

mapView.mapType = .mutedStandard
Run Code Online (Sandbox Code Playgroud)

这会从地图中删除分散注意力的细节。

Apple 使用这种类型的地图,当他们想要强调交通路线并且其他所有内容都应该在背景中而不会分散注意力时。

iOS 13开始,您可以进行更细粒度的控制:

使用MKMapKit.pointOfInterestFilter您可以包括或排除特定类别的兴趣点。

因此,如果您正在制作“我所在城市最好的餐厅”应用程序,您的应用程序有自己的餐厅注释,您可以从 Apple 的兴趣点中删除餐厅类别,但所有其他 POI 类别都适合您。

https://developer.apple.com/documentation/mapkit/mkmapview/3143417-pointofinterestfilter?language=objc


小智 6

万一有人回到这里,在撰写本文时,如果您实际上只想要地图和道路名称,没有兴趣点,只需使用

mapView.pointOfInterestFilter = .excludingAll
Run Code Online (Sandbox Code Playgroud)