繁体   English   中英

具有mbtiles数据库的iOS 7中的MKTileOverlay

[英]MKTileOverlay in iOS 7 with mbtiles database

有没有一种方法可以直接将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];

但是现在我想要一个tile.mbtiles sqlite数据库,而不是文件夹中的文件。

请建议我该怎么做。 如果选择使用sqlite数据库,如何初始化MKTileOverlay对象。 我将如何放置{x},{y},{z}。

我浏览了MKTileOverlay的文档,发现:

- (void)loadTileAtPath:(MKTileOverlayPath)path result:(void (^)(NSData *tileData, NSError *error))result

可以使用,但我不明白该如何使用? 如果有人可以举一个简短的例子,那将非常有帮助。

您可以看一下这个项目的运作方式…

https://github.com/t2wu/OSMMapKit

它似乎还没有完成,但是它应该使您走上正确的道路。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM