android - Android Mapbox SDK 加载样式失败:“HTTP 状态码 404”
问题描述
在 SO 和 github 中找不到这个问题的答案。
当我尝试使用从 Mapbox Studio 获得的 URI 加载样式时,我进入loading style failed: "HTTP status code 404
了监听器。onDidFailLoadingMap
我已经仔细检查了代码中的 URI 和令牌,并且在 IOS 中一切正常。
该代码类似于 Mapbox 示例中的代码https://docs.mapbox.com/android/maps/examples/use-a-mapbox-studio-style/
如果我放置他们的样式 URI 之一,它也可以正常工作。
Mapbox.getInstance(this, getResources().getString(R.string.my_studio_token));
mapView.onCreate(savedInstanceState);
mapView.addOnDidFailLoadingMapListener(new MapView.OnDidFailLoadingMapListener() {
@Override
public void onDidFailLoadingMap(String errorMessage) {
Log.i("style_load", errorMessage); //gets here after failure
}
});
mapView.getMapAsync(mapboxMap -> {
mapboxMap.setStyle(new Style.Builder().fromUri(getResources().getString(R.string.travily_style_uri)),
style -> Log.i("style_load", style.toString()));
结果我得到一个没有地图的空屏幕。
如果需要,我很乐意添加任何代码片段。
谢谢 :)
解决方案
经过几个小时的调试,我终于找到了问题所在。
我Mapbox.getInstance
在我的应用程序文件中(在第一个活动之前启动)以某种方式使活动文件中的后者Mapbox.getInstance
无关紧要。
一旦我首先更改了令牌,Mapbox.getInstance
它就起作用了。
可能它适用于 mapbox 示例中的 uri 的原因可能是因为这些 uri 是公共的并且不需要特定的令牌。
希望它会帮助有同样问题的人。
推荐阅读
- android - 在 onPostExecute() 中运行另一个 AsyncTask 后返回值
- selenium - 获取 HTMLUnit 驱动程序异常 (java.lang.ClassNotFoundException) - w Selenium 和 Java
- java - 如何使用 zuul API 网关保护微服务 REST API
- wordpress - 在 wordpress 中删除图像后出现错误消息“加载资源失败”
- ruby - 文档模型字段 Sinatra
- sql-server - 我的问题还有其他解决方案吗?
- javascript - 文件无法从 github 主机正确加载
- azure - 如何获取 azure market place 发布者 ID 和产品信息?
- javascript - 更简单的写法: if (routine !== null && routine.exercises !== undefined &&routine.exercises.length > 0)
- javascript - 如何测试`fn`是否是一个函数(可调用)?