有没有一种方法可以在不使用MapBox或其他第三方框架的情况下,通过MKTileOverlay直接使用mbtiles数据库?
现在,我已经将tiles存储在一个文件夹结构中,我使用的代码如下:
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可以使用,但我不能理解如何使用它?如果有人能给我一个简短的例子,那将是非常有帮助的。
发布于 2014-11-27 20:22:59
https://stackoverflow.com/questions/24843225
复制相似问题