Ios 用于将楼层平面添加到地图的MapKit覆盖图

Ios 用于将楼层平面添加到地图的MapKit覆盖图,ios,mapkit,mkoverlay,mktileoverlay,Ios,Mapkit,Mkoverlay,Mktileoverlay,我正在尝试向iOS MapKit添加一个覆盖图,以便显示楼层平面图。然而,我不确定这样做的最佳方式。如果我使用MKOverlay添加平面图,平面图是否会延迟加载,或者我是否需要找出地图的哪个部分正在显示,然后更新覆盖图?我还研究了使用MKTileOverlay,因为它使用的是延迟加载,但我的印象是,它应该用于完全覆盖地图,而不仅仅是添加到现有地图上。这是正确的吗?是的,你是对的MKTileOverlay可以用瓷砖覆盖整个地图,是的,它正在使用延迟加载 如果您不愿意替换地图的本地外观和填充,请使用

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

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

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


注意:
MKTileOverlay
不会删除您已经存在的
MKAnnotations
MKOverlay

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

您可能会发现,这对于如何对磁贴进行编号和组织很有用:


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

多谢各位。延迟加载是自动用于MKOverlay,还是我需要以特殊方式配置它?另外,我的覆盖应该添加到一个MKOverlayView,还是每个覆盖单独的MKOverlayView?对于
MKOverlay
创建用于延迟加载的块或背景线程,并且不需要创建单独的,所有覆盖都将在同一个
MKOverlayView
上管理。