如何在 mapbox-gl 样式中对 Android 上的非 APK 文件使用 `asset://`?
How can I use `asset://` for non-APK file(s) on Android in a mapbox-gl Style?
我一直在使用 Mapbox GL Native (specifically react-native-mapbox-gl)。我在服务器上生成自己的矢量图块,我想让用户从移动应用程序将它们下载到他们的设备上。然后我希望 Mapbox GL 使用本地图块,通过 Mapbox GL 样式文件中引用的 TileJSON 文件指定。
我已经在 iOS 上运行了(至少在模拟器中)。我的 style.json
如下所示:
{
"version":8,
"name":"Bright",
"sources":{
"mapbox":{
"type":"vector",
"url": "asset:///absolute/path/map/tile.json"
}
},
"sprite":"asset:///absolute/path/map/sprites/mysprite",
"glyphs":"asset:///absolute/path/map/glyphs/{fontstack}/{range}.pbf",
"metadata":{...},
"layers":[...]
}
tile.json
看起来像:
{
"tiles":[
"asset:///absolute/path/map/tiles/{z}/{x}/{y}.pbf"
],
"tilejson":"2.0.0",
// plus lots of other stuff
}
在 Android 这不起作用。 asset://
似乎只适用于捆绑在 APK 中的文件,不适用于文件系统。
我可以在 Android 平台上做些什么让 Mapbox GL 从设备上加载我下载的图块吗?
您是否尝试过使用 file:/// 路径?这通常从您应用程序的文件目录加载,例如
"file:///absolute/path/map/tiles/{z}/{x}/{y}.pbf"
我一直在使用 Mapbox GL Native (specifically react-native-mapbox-gl)。我在服务器上生成自己的矢量图块,我想让用户从移动应用程序将它们下载到他们的设备上。然后我希望 Mapbox GL 使用本地图块,通过 Mapbox GL 样式文件中引用的 TileJSON 文件指定。
我已经在 iOS 上运行了(至少在模拟器中)。我的 style.json
如下所示:
{
"version":8,
"name":"Bright",
"sources":{
"mapbox":{
"type":"vector",
"url": "asset:///absolute/path/map/tile.json"
}
},
"sprite":"asset:///absolute/path/map/sprites/mysprite",
"glyphs":"asset:///absolute/path/map/glyphs/{fontstack}/{range}.pbf",
"metadata":{...},
"layers":[...]
}
tile.json
看起来像:
{
"tiles":[
"asset:///absolute/path/map/tiles/{z}/{x}/{y}.pbf"
],
"tilejson":"2.0.0",
// plus lots of other stuff
}
在 Android 这不起作用。 asset://
似乎只适用于捆绑在 APK 中的文件,不适用于文件系统。
我可以在 Android 平台上做些什么让 Mapbox GL 从设备上加载我下载的图块吗?
您是否尝试过使用 file:/// 路径?这通常从您应用程序的文件目录加载,例如
"file:///absolute/path/map/tiles/{z}/{x}/{y}.pbf"