我一直在使用Mapbox GL Native(特别是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从设备上加载下载的瓷砖吗?
答案 0 :(得分:1)
您是否尝试过使用file:///路径?这通常从您应用的文件目录加载,例如
"file:///absolute/path/map/tiles/{z}/{x}/{y}.pbf"