有没有办法可以直接使用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
可以使用,但我无法理解如何使用它?如果任何人可以请一个简短的例子,那将是非常有帮助的。