Android Mapbox SDK 加载样式失败:"HTTP status code 404"

Android Mapbox SDK loading style failed: "HTTP status code 404"

无法在 SO 和 github 中找到此问题的答案。

当我尝试使用从 Mapbox Studio 获得的 URI 加载样式时,我在 onDidFailLoadingMap 侦听器中收到 loading style failed: "HTTP status code 404

我仔细检查了我代码中的 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(在第一个 activity 之前启动),这不知何故使 activity 文件中后来的 Mapbox.getInstance 变得无关紧要。

一旦我在第一个 Mapbox.getInstance 中更改了令牌,它就起作用了。

它对 mapbox 示例中的 uri 起作用的原因可能是因为这些 uri 是 public 并且不需要特定的标记。

希望对遇到同样问题的人有所帮助。