我正在尝试向iOS MapKit添加叠加层以显示楼层平面图。但是,我不确定这样做的最佳方式。如果我使用MKOverlay添加楼层平面图,是否会懒散地加载楼层平面图,或者我是否需要找出地图的哪个部分正在显示并在此后更新叠加层?我也看过使用MKTileOverlay,因为它使用延迟加载,但我的印象是它应该用于完全覆盖地图而不仅仅是添加到现有地图。这是对的吗?
答案 0 :(得分:2)
是的,你是对的MKTileOverlay
可以用瓷砖覆盖整个地图,是的,它是使用延迟加载。
如果您不愿意替换原生外观和地图填充,请使用MKOverlay
。您也可以为MKOverlay
实现延迟加载。
注意: MKTileOverlay
不会删除您现有的MKAnnotations
和MKOverlay
。
答案 1 :(得分:0)
MKOverlay
是一个协议,而不是一个类。从iOS 7开始,您需要MKTileOverlay
。根据当前显示的地图部分,延迟加载内容。
您可能会发现这对于瓷砖的编号和组织方式非常有用:
https://www.mapbox.com/foundations/how-web-maps-work/
至于覆盖Apple的地图,默认情况下会发生这种情况,但您也可以调整用于将其放置在Apple的基本地图和标签图层之间的MKOverlayLevel
,或者如果您需要,可以使用canReplaceMapContent = YES
完全禁用Apple的地图。