Ios 缩放时,本地磁贴的MKTileOverlay延迟
我在设备上本地存储了磁贴,并使用以下代码加载它们Ios 缩放时,本地磁贴的MKTileOverlay延迟,ios,mapkit,mkoverlay,Ios,Mapkit,Mkoverlay,我在设备上本地存储了磁贴,并使用以下代码加载它们 override func url(forTilePath path: MKTileOverlayPath) -> URL { let tilePath = Bundle.main.url( forResource: "\(path.y)", withExtension: "png", subdirectory: "tiles/\(pa
override func url(forTilePath path: MKTileOverlayPath) -> URL {
let tilePath = Bundle.main.url(
forResource: "\(path.y)",
withExtension: "png",
subdirectory: "tiles/\(path.z)/\(path.x)",
localization: nil)
if let tile = tilePath {
return tile
} else {
return Bundle.main.url(
forResource: "empty",
withExtension: "png",
subdirectory: "tiles",
localization: nil)!
}
}
我在viewModel中创建了一个MKTileOverlayRenderer
let overlay = TileOverlay()
overlay.canReplaceMapContent = true
overlay.minimumZ = 13
overlay.maximumZ = 16
tileRenderer = MKTileOverlayRenderer(tileOverlay: overlay)
并将我的ViewController的viewDidLoad
中的覆盖添加到mapView
mapView.addOverlay(viewModel.tileRenderer.overlay, level: .aboveLabels)
这将调用我的委托方法renderforoverlay:
func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
return viewModel.tileRenderer
}
我只有一个小样本的瓷砖,17MB,但有一个滞后时,放大和缩小,甚至有时在初始加载的覆盖。我甚至用MKMapView.CameraBoundary
限制了mapView边界,并用MKMapView.CameraZoomRange
进行了缩放
如何防止这种延迟?
我在使用模拟器:iPhone11
,ios13.5