我正在使用通过MKMapView和MKOverlay使用半透明的平铺 map 叠加层的iPhone/iPad应用程序。
我希望用户能够放大 map ,但是我的 map 叠加层的分辨率只能达到6级。
我不想限制缩放。
但是...如果用户放大到“太远”,然后滚动到新的图块,如果它们放大得比覆盖图块的树深,则不会绘制我的覆盖图。
我希望覆盖层能够绘制,即使用户被放大了也是如此。
是否有最佳实践来实现这一目标?
我提出了两个选择:
1)限制用户可以缩放的距离。这不是理想的,因为即使覆盖层是低分辨率的,它们也可能仍在透明的彩色范围内,并且透明的表层看似消失了是令人误解的。
2)预渲染的图块比其他方法要深得多。。。虽然可以,但是它使我的应用程序膨胀了一个数量级。
必须有一个更好的方法。有任何想法吗???
更新:我能找到的最接近的示例代码是WWDC 2010的Apple TileMap示例。他们的代码也遇到了同样的问题-如果您放大得“太远”,则不会显示 map 叠加层。
最佳答案
我通过添加“OverZoom”模式修改了Apple的TileMap示例代码。我已经发布了更多详细信息和我的代码,作为this question的答案。
我希望我能为遇到这个问题的其他人提供帮助。
关于iphone - 防止叠加层在缩放时消失-MKMapView和MKOverlay,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4351724/