Java Android的Mapbox,使用服务器上的分幅

Java Android的Mapbox,使用服务器上的分幅,java,android,kotlin,mapbox-android,Java,Android,Kotlin,Mapbox Android,我正试图找出在Android上使用Mapbox并将磁贴存储在服务器中的最佳实践 我知道这些瓷砖是可用的,因为我可以让它们出现在网上。 我可以使用默认样式没有问题mapBox.setStyle(Style.LIGHT)但是当我尝试使用服务器平铺更改地图样式时 我正在创建一个JsonObject: val mapJSONObject = JsonObject() 这相当于: { "version": 8, "sources": { "tiles-name": { "type

我正试图找出在Android上使用Mapbox并将磁贴存储在服务器中的最佳实践

我知道这些瓷砖是可用的,因为我可以让它们出现在网上。 我可以使用默认样式没有问题
mapBox.setStyle(Style.LIGHT)
但是当我尝试使用服务器平铺更改地图样式时

我正在创建一个
JsonObject

val mapJSONObject = JsonObject()
这相当于:

{
  "version": 8,
  "sources": {
    "tiles-name": {
    "type": "raster",
    "url": "https://myserver.com/map/c16c1u38213f0db8001b1c6e8cee5f7a/{z}/{x}/{y}?token=jfsdajfdsjkfjksh34232fsd",
    "tileSize": 256
    }
  },
  "layers": [{
    "id": "ee-raster",
    "type": "raster",
    "source": "tiles-name",
    "minzoom": 0,
    "maxzoom": 22
  }]
}
我试图通过以下方式使用此
JsonObject

map.setStyle(Style.Builder().fromJson(mapJSONObject.toString()))
或者通过此函数创建.json文件:

@Throws(IOException::class)
fun save(context: Context, jsonString: String) {
    val rootFolder = context.getExternalFilesDir(null)
    val jsonFile = File(rootFolder, "file.json")
    val writer = FileWriter(jsonFile)
    writer.write(jsonString)
    writer.close()
}
然后通过以下方式使用该.json文件:

map.setStyle(Style.Builder().fromJson("file.json"))
使用以下命令触发更改映射时:

map.setStyle(Style.Builder().fromJson(mapJSONObject.toString()))
map.setStyle(Style.Builder().fromJson("file.json"))
我收到错误消息:

D/Mbgl HttpRequest:[HTTP]请求,响应=404:无其他 信息 [样式]:无法加载源分幅名称:HTTP状态代码404

使用以下命令触发更改映射时:

map.setStyle(Style.Builder().fromJson(mapJSONObject.toString()))
map.setStyle(Style.Builder().fromJson("file.json"))
我收到错误消息:

[ParseStyle]:未能分析样式:无效值。在偏移量1处

即使错误消息看起来足够清楚,我也无法调试它

我一直在阅读MapBox文档,但似乎找不到在服务器上使用tiles的清晰示例

有人能找出问题所在,或者给我举一个使用这种方法的例子吗

不必使用Kotlin,Java也同样有用