我想展示除餐馆以外MKMapView
的兴趣点。这可能吗,如果可以,我该如何设置?
我确实在文档中看到了以下内容,但它真的是全部还是全部?
@property (nonatomic) BOOL showsPointsOfInterest;
当此属性设置为 YES 时,地图会显示餐馆、学校和其他相关景点的图标和标签。此属性的默认值为 YES。
例如,在下面,我希望显示加油站而不显示餐厅。
我想展示除餐馆以外MKMapView
的兴趣点。这可能吗,如果可以,我该如何设置?
我确实在文档中看到了以下内容,但它真的是全部还是全部?
@property (nonatomic) BOOL showsPointsOfInterest;
当此属性设置为 YES 时,地图会显示餐馆、学校和其他相关景点的图标和标签。此属性的默认值为 YES。
例如,在下面,我希望显示加油站而不显示餐厅。
使用 IOS 13,您可以选择过滤:这里是在地图上不显示任何项目的示例
localMap.pointOfInterestFilter = .some(MKPointOfInterestFilter(including: []))
例如,您可以从地图中过滤机场...
localMap.pointOfInterestFilter = .some(MKPointOfInterestFilter(including: [MKPointOfInterestCategory.airport]))
无法控制绘制的特定类型的点。Apple 可以添加/删除/更改它在 Map Kit 的任何未来更新中显示的特定类型。正如您所提到的,您唯一的行动方案是设置showsPointsOfInterest
。
您可以使用来自 Foursquare 或 Facebook 的第三方地点数据库来获取相似的兴趣点并将它们绘制在您的地图上,但不能保证结果与 Apple 会显示的结果一致。
iOS 13 中的另一个选项是包含或排除某些兴趣点:
// Includes airports
localMap.pointOfInterestFilter?.includes(MKPointOfInterestCategory.airport)
// Excludes laundry/laundromats
localMap.pointOfInterestFilter?.excludes(MKPointOfInterestCategory.laundry)