ios - 超过maximumZ后,MKTileOverlay Tiles消失
问题描述
loadTileAtPath
瓦片是通过/URLForTilePath
使用子类从磁盘加载的MKTileOverlay
。
设置maximumZ
覆盖时,超出该级别的图块(如预期的那样)不再加载。但是,上一级的瓷砖也会消失。有任何想法吗?
解决方案
对我来说已经有一段时间了,但过去我遇到了一些问题。我认为这可能与内部缓存或覆盖有关。
例如,如果在从缩放级别 20 过渡到缩放级别 21 时,图块恰好消失了,并且您的图块源的最大缩放级别为 20,那么您的行为看到可能是折线使 MKMapView 的渲染切片缓存部分无效的结果。
您所看到的可能正在发生,因为您的平铺源没有提供足够高的缩放级别的平铺来满足您尝试进行的缩放量。通常,Apple 的 MKMapView 渲染缓存提供了一些有限的过度缩放,但是当您执行一些触发新渲染的操作(例如添加线条)时,渲染缓存会失效并且伪过度缩放停止工作。
但是,我也曾经通过更改覆盖层的级别看到了一个修复,从“MKOverlayLevelAboveLabels”更改为 [mapView addOverlay:overlay level:MKOverlayLevelAboveRoads];
我希望这些建议能让你更进一步:)
推荐阅读
- javascript - 在 Angular 中调用下一个操作之前等待文件下载事件(Javascript)
- java - compareTo 两个泛型类型
- json - & 号正在破坏 json
- vscode-remote - 使用远程扩展从一台计算机访问文件到另一台计算机
- android - 使用 Android 导航组件将数据传回之前的 Fragment
- xamarin - Catalina 上的 WKWebView 空白
- python - Python排序多维列表第一个元素基于已经排序的第二个元素
- reactjs - 如何使用 ReactJS 从端点获取数据
- python - 如何使用 Python 请求过滤网页上的结果?
- r - 选择行,根据行创建单独的数据集