MKMapView正在通过tiles绘制MKOverlayRenderer。问题在于,并非覆盖层的所有图 block 都以相同的缩放比例绘制在屏幕上。同时,叠加层后面的 map 也被精确且正确地绘制。渲染器被迫使用
重绘[renderer setNeedsDisplay];
每次调整叠加层大小时,所有级别的缓存叠加图 block 都必须失效,并且必须绘制正确的图 block 级别。
实际结果是,当我调整叠加层大小时,它的某些部分会缩放2~3~5倍。看起来很丑。
最佳答案
我遇到了与此非常相似的问题,结果是由于返回的 boundingMapRect
不够大而无法覆盖整个覆盖层。 MapKit 仍然会调用我的绘图例程,但有时我的叠加层不会显示,有时它会以错误的缩放比例显示。
解决方案是提供一个足够大的boundingMapRect
。
关于ios - 如何正确强制 MKMapView 以相同的缩放比例重绘 MKOverlayRenderer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22029390/