小编Far*_*cli的帖子

iOS MKMapView加载自定义瓦片优化

我使用自定义 TileOverlay 开发了 iOS 地图应用程序,它从我们自己的服务器加载图块。我扩展了 TileOverlay 类,它获取图块数据如下:

override func loadTile(at path: MKTileOverlayPath, result: @escaping (Data?, Error?) -> Void)
{
    let url = self.url(forTilePath: path)
    if let cachedData = cache.object(forKey: url as AnyObject) as? NSData
    {
        result(cachedData as Data, nil)
    } else {

        let session = URLSession.shared
        let request = NSURLRequest(url: url)
        let task = session.dataTask(with: request as URLRequest, completionHandler: {data, response, error -> Void in

            if let data = data {
                self.cache.setObject(data as AnyObject, forKey: url as AnyObject)
            }
            result(data, …
Run Code Online (Sandbox Code Playgroud)

mapkit mkmapview ios mktileoverlay swift

5
推荐指数
0
解决办法
1286
查看次数

标签 统计

ios ×1

mapkit ×1

mkmapview ×1

mktileoverlay ×1

swift ×1