gpt4 book ai didi

iOS - 一些图 block 未在自定义 MKTileOverlay 中呈现

转载 作者:可可西里 更新时间:2023-11-01 06:02:26 26 4
gpt4 key购买 nike

我在使用 MapKit 的 iOS 项目中有一个自定义的 MKTileOverlay,它大部分时间都运行良好。然而,在放大/缩小几次和平移 map 后,一些图 block 没有被绘制。

起初我认为这是一个简单的图 block 未加载的情况,所以我将 MKTileOverlay 子类化并在控制台中添加了日志记录。它表明所有图 block 都已完美加载并传送到结果 block 。

当我的想法用尽时,我创建了一个本 map block 生成器,它只返回带有路径 x/y/z 和绘制框架的图像,以查看缺少哪些图 block 。

Missing tile example image

不幸的是,即使使用本地生成的图 block ,问题仍然存在,因此它与 Internet 连接无关。另一个奇怪的行为是,如果我有两个自定义叠加层,它们将是完全相同的图 block ,但不会在两个叠加层上呈现。

我现在能想到的唯一解决方案是子类化图 block 渲染器并确保显示所有内容,因为无法知道图 block 是否未渲染。然而,这听起来像是很多工作和“重新发明轮子”的任务......

最佳答案

我们也遇到了缺少图 block 的问题 - 试图在新西兰周围绘制 map 图 block 。 MKOverlayRenderer 甚至没有请求磁贴。我们陷入了困境,认为这一定是因为新西兰靠近 180/0 纬度边界。没有。这是因为子类方法:-

- (void)loadTileAtPath:(MKTileOverlayPath)path result:(void (^)(NSData * __nullable data, NSError * __nullable error))result;

即使没有数据可返回,也必须始终调用结果方法!在信用到期的地方给予信用,这是我们解决方案的来源:-

MKTileOverlay not drawing every tile?

关于iOS - 一些图 block 未在自定义 MKTileOverlay 中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40460540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com