iOS:在 MapKit 的 MKOverlay 中使用矢量数据
Posted
技术标签:
【中文标题】iOS:在 MapKit 的 MKOverlay 中使用矢量数据【英文标题】:iOS: Using vector data in MKOverlay in MapKit 【发布时间】:2011-02-24 15:16:25 【问题描述】:我想使用 MapKit 覆盖自定义地图。我目前已经实现了 WWDC10 中的 TileMap 示例。但是,我的叠加图是矢量形式 (pdf),将其栅格化并将其转换为图块似乎是一种可怕的浪费(也占用大约 10 兆而不是 300 KB)。
有没有办法:
a) 使用 MKOverlay 覆盖 pdf,或 b) 轻松将矢量图形转换为 MKPolygons、线条等,这样我就可以在 MapKit 中重新创建叠加图?
注意:我试图覆盖的地图非常简单,但地理上巨大。它确实需要离线工作。
【问题讨论】:
【参考方案1】:您可以使用 MKOverlay 覆盖 PDF。在您的 MKOverlayView 的 drawMapRect:zoomScale:inContext: 方法中,只需使用标准 PDF 绘图功能。你可以找到那些函数here。
这种方法的问题在于,对于发送到该绘图方法的每个 maprect,您每次都必须绘制整个 PDF。这会很慢。我认为您将通过光栅化 PDF 并将其转换为图块来看到最佳性能。 10 MB 的数据集对于 ios 应用来说并不算大。
【讨论】:
以上是关于iOS:在 MapKit 的 MKOverlay 中使用矢量数据的主要内容,如果未能解决你的问题,请参考以下文章