有没有一种方法可以直接将 mbtiles 数据库与 MKTileOverlay 一起使用,而无需使用 MapBox 或其他任何第三方框架?
现在,我将图块存储在文件夹结构中,我使用的代码如下:
NSString *tileDirectory = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Tiles"];
NSString *tileDirectoryURL = [NSURL fileURLWithPath:tileDirectory isDirectory:YES];
NSString *tileURL = [NSString stringWithFormat:@"%@Z{z}/{y}_{x}.png", tileDirectoryURL];
tileOverlay = [[MKTileOverlay alloc] initWithURLTemplate:tileURL];
[tileOverlay setGeometryFlipped:YES];
[mainMapView addOverlay:tileOverlay];
但现在我想要一个tiles.mbtiles sqlite 数据库而不是文件夹中的文件。
请建议我该怎么做。如果我选择使用 sqlite 数据库,如何初始化 MKTileOverlay 对象。我将如何放置 {x},{y},{z}。
我浏览了 MKTileOverlay 的文档,发现:
- (void)loadTileAtPath:(MKTileOverlayPath)path result:(void (^)(NSData *tileData, NSError *error))result
可以使用,但我无法理解如何使用它?如果有人可以请给ma一个简短的例子,那将非常有帮助。