如何在MapBox iOS / Android SDK中使用离线样式定义或地图图块?

时间:2015-11-08 02:58:22

标签: android ios xamarin mapbox

我想使用mapbox iOS / Android SDK制作离线地图应用程序。

但是,我从本地文件系统加载样式,如下所示:(对不起,我是Xamarin用户,所以写c#)

var bundlePath = NSBundle.MainBundle.BundlePath; 
var filePath = Path.Combine(bundlePath, "gsimaps.json"); 
var styleURL = NSUrl.CreateFileUrl (filePath, null);
var mapView = new MapView (Bounds, styleURL);

然后错误显示:

  

[错误] {地图} [设置]:加载方式失败:响应类不是NSHTTPURLResponse

有没有办法从本地数据加载样式? 从文件,从数据库到内存,任何方法都可以,我想知道使用本地数据的方式。

此外,有没有办法在MapBox SDK中使用本地栅格图块? (来自文件,数据库或内存..)

3 个答案:

答案 0 :(得分:1)

在Android中,

首先,在资产文件夹

中声明map_style.json

然后在Java代码中

mapView.setStyleUrl("asset://map_style.json");

答案 1 :(得分:0)

你应该看看我的github项目(Tiles for Android/iOS/UWP),但我对这些瓷砖的更新有问题 - > Double update for tiles..

答案 2 :(得分:0)

MapBox有计划实现本地接口:

https://github.com/mapbox/mapbox-gl-native/issues/7471