【发布时间】:2020-02-28 16:06:15
【问题描述】:
我在我的应用程序中使用了 mapKit,并且我有几个使用叠加层渲染图形的函数。 现在,随着 iOS 13.2 的更新,当我移动地图(使用任何方法)时,删除单个叠加层并在地图移动时重绘叠加层的功能 - 导致地图中的所有图形闪烁 - 就好像它们都被重绘一样。 移动地图的方法之一是 locationManager 的“didUpdateLocations”。
我不能发布代码,因为代码被拆分为许多子函数,所有这些子函数都以不同的组合调用。 但是我已经测试了许多方法来验证图形是否仅通过添加或删除覆盖的单个操作而闪烁。我已经评估了添加或删除的叠加层,以验证它只是一个小图形 (MKPolyline),而不是地图上的一组图形/叠加层。
所以基本上,addOverlay 函数似乎有问题 - 重绘所有叠加层......,或类似的东西......
还有其他人在使用 iOS13.2 时遇到此问题吗?
【问题讨论】:
-
更新:我注意到闪烁的图形只是最靠近地图中心的图形(我的单个图形正在重绘)。更奇怪的是;一些闪烁仅发生在线条图形的一半上。从而暗示它与 OS 或 mapKit 相关,因为我的应用程序会在任何时候重新绘制整条线。
-
在我的情况下,我删除的叠加层边界框下方的图块正在闪烁。我有一条标题线每秒更新一次,并且 MKPolyline 无法更新坐标,删除和添加新坐标是唯一的选择。
-
我有同样的问题 - 使用 MKPolygons 在应用商店中稳定应用多年。 iOS 13.1 工作时没有任何闪烁,iOS 13.2 在添加和删除多边形时有严重的闪烁。这是一个新的 MapKit 问题。也许有更新地图的新程序?
-
我们不能更新形状或渲染器而不是删除并添加回来吗?因为我也面临同样的问题。
标签: swift mapkit overlay ios13