我在使用 MapKit 的 iOS 项目中有一个自定义的 MKTileOverlay,它在大多数情况下都能正常工作。但是,在放大/缩小几次并平移地图后,一些图块没有被绘制出来。
起初我认为这是一个简单的瓦片没有加载的情况,所以我将 MKTileOverlay 子类化并在控制台中添加了日志记录。它表明所有的瓷砖都被完美地加载并传送到了结果块。
当我没有想法时,我创建了一个本地图块生成器,它只返回带有路径 x/y/z 和绘制框架的图像,以查看缺少哪些图块。
不幸的是,即使使用本地生成的图块,问题仍然存在,因此它与 Internet 连接无关。另一个奇怪的行为是,如果我有两个自定义叠加层,它们将是完全相同的图块,不会在两个叠加层上呈现。
我现在能想到的唯一解决方案是将瓷砖渲染器子类化并确保显示所有内容,因为无法知道瓷砖没有被渲染。然而,这听起来像是大量的工作和“重新发明轮子”的任务......