MapKit叠加以添加要映射的楼层平面图

时间:2014-10-06 06:51:00

标签: ios mapkit mkoverlay mktileoverlay

我正在尝试向iOS MapKit添加叠加层以显示楼层平面图。但是,我不确定这样做的最佳方式。如果我使用MKOverlay添加楼层平面图,是否会懒散地加载楼层平面图,或者我是否需要找出地图的哪个部分正在显示并在此后更新叠加层?我也看过使用MKTileOverlay,因为它使用延迟加载,但我的印象是它应该用于完全覆盖地图而不仅仅是添加到现有地图。这是对的吗?

2 个答案:

答案 0 :(得分:2)

是的,你是对的MKTileOverlay可以用瓷砖覆盖整个地图,是的,它是使用延迟加载。

如果您不愿意替换原生外观和地图填充,请使用MKOverlay。您也可以为MKOverlay实现延迟加载。

注意: MKTileOverlay不会删除您现有的MKAnnotationsMKOverlay

答案 1 :(得分:0)

MKOverlay是一个协议,而不是一个类。从iOS 7开始,您需要MKTileOverlay。根据当前显示的地图部分,延迟加载内容。

您可能会发现这对于瓷砖的编号和组织方式非常有用:

https://www.mapbox.com/foundations/how-web-maps-work/

至于覆盖Apple的地图,默认情况下会发生这种情况,但您也可以调整用于将其放置在Apple的基本地图和标签图层之间的MKOverlayLevel,或者如果您需要,可以使用canReplaceMapContent = YES完全禁用Apple的地图。