防止叠加在缩放时消失 - MKMapView和MKOverlay

rad*_*ven 6 iphone overlay tiles mkmapview

我正在使用通过MKMapView和MKOverlay使用半透明平铺地图覆盖的iPhone/iPad应用程序.

我希望用户能够深入放大地图,但我的地图叠加层的分辨率只能达到6级.

我不想限制缩放.

但是......如果用户缩放"太远"然后滚动到新的图块,如果它们比覆盖图块树更深,则不会绘制我的叠加.

我希望即使在用户放大深度时也可以绘制叠加层.

有没有最佳实践来实现这一目标?

我提出的两个选项:

1)设置用户可以缩放的范围限制.不理想,因为即使叠加是低分辨率,它们仍可能在透明的彩色范围内,并且透明的覆盖层看似消失是误导性的.

2)预渲染瓷砖比其他方式更深入...这样可行,但它会使我的应用程序的尺寸增加一个数量级.

必须有一个更好的方法.有任何想法吗???

更新:我能找到的最接近的示例代码是来自WWDC 2010的Apple的TileMap示例.他们的代码遇到了同样的问题 - 如果放大"太远",则不会显示地图叠加层.

rad*_*ven 4

我修改了 Apple 的 TileMap 示例代码,添加了“OverZoom”模式。我已经发布了更多详细信息和我的代码作为这个问题的答案。

我希望我可以帮助其他遇到这个问题的人。