我想使用 MapKit 覆盖自定义地图。我目前已经实现了 WWDC10 中的 TileMap 示例。但是,我的叠加图是矢量形式 (pdf),将其栅格化并将其转换为图块似乎是一种可怕的浪费(也占用大约 10 兆而不是 300 KB)。
有没有办法:
a) 使用 MKOverlay 覆盖 pdf,或者
b) 轻松将矢量图形转换为 MKPolygons、线条等,这样我就可以在 MapKit 中重新创建覆盖图?
注意:我试图覆盖的地图非常简单,但地理上巨大。它确实需要离线工作。
您可以使用 MKOverlay 覆盖 PDF。在您的 MKOverlayView 的 drawMapRect:zoomScale:inContext: 方法中,只需使用标准 PDF 绘图功能。您可以在此处找到这些功能。
这种方法的问题在于,对于发送到该绘图方法的每个 maprect,您每次都必须绘制整个 PDF。这会很慢。我认为您将通过光栅化 PDF 并将其转换为图块来看到最佳性能。10 MB 的数据集对于 iOS 应用程序来说并不算大。