将 MKTileOverlay 与 MKPolyLine 一起使用

Posted

技术标签:

【中文标题】将 MKTileOverlay 与 MKPolyLine 一起使用【英文标题】:Using an MKTileOverlay with an MKPolyLine 【发布时间】:2013-09-23 15:13:26 【问题描述】:

我的 MKMapView 上有一个有效的 MKTileOverlay 和 MKPolyline,但需要每秒左右更新折线。我目前通过删除旧行并添加一个新行并添加下一点来执行此操作。目前这确实有效,但会导致重新加载 MKTileOverlay 的图块。是否可以在不重新加载所有图块的情况下使用可变折线或替换它?

【问题讨论】:

【参考方案1】:

类似于[UIView drawRect:],新的MKTileOverlayRenderer 继承自MKOverlayRenderer,并具有基于rect 的屏幕更新。因此,您可以找出可变段添加的起点和终点,并将它们用作应刷新的 MKMapRect 上的对角。也就是说,您只需刷新与新段相关的覆盖图块,而不是整个路径。

【讨论】:

为了更完整,您应该获得修改后的线段的边界矩形,而不仅仅是端点。例如,如果线路从圣地亚哥经丹佛到西雅图,您也需要刷新远离海岸的所有图块。

以上是关于将 MKTileOverlay 与 MKPolyLine 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7 中的 MKTileOverlay 与 mbtiles 数据库

MapKit:添加 MKPolyline 隐藏 MKTileOverlay

MKTileOverlay - 添加捆绑瓷砖

子类化的 MKTileOverlay 不在地图上显示

Swift 中的 MKTileoverlay 问题

带有 Retina-Tiles 的 MKTileOverlay