对于离线使用mapbox,我创建了一个mymap.mbtiles文件,我的应用程序将用来显示地图。用户可以按下一个按钮,相应的.mbtiles文件将被下载并保存在documents目录中。
但是我的应用程序在这条线上崩溃:
RMMBTilesSource *offlineSource = [[RMMBTilesSource alloc] initWithTileSetResource:@"MYMAP" ofType:@"mbtiles"];
_mapView = [[RMMapView alloc] initWithFrame:self.view.bounds andTilesource:offlineSource];错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'就像在this问题上。
这过去正常工作,但在更新更新版本的MapBox时,出现了此错误。
该链接中的问题的答案是,您的.mbtiles文件需要成为项目目标的一部分,并添加到包中。下载该文件并将其保存到文档目录中是否不够?如果不是,我如何修复它,使.mbtiles文件是可下载的,而不是由开发人员预先导入。
发布于 2014-03-26 00:25:13
不要使用用于捆绑资源的-initWithTileSetResource:ofType:,而是尝试-initWithTileSetURL:并指向documents目录中的文件。
https://stackoverflow.com/questions/22642318
复制相似问题