#android #mapbox-android #mapbox-studio
#Android #mapbox-android #mapbox-studio
Вопрос:
не удалось найти ответ на эту проблему в SO и github.
Я получаю loading style failed: "HTTP status code 404
в onDidFailLoadingMap
прослушивателе, когда пытаюсь загрузить стиль с помощью URI, который я получил из Mapbox Studio.
Я дважды проверил URI и токен в своем коде, и все это отлично работает в IOS.
код аналогичен коду в примерах Mapboxhttps://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()));
в результате я получаю пустой экран без карты.
я был бы рад добавить любые фрагменты кода, если это необходимо.
спасибо 🙂
Ответ №1:
После нескольких часов отладки я наконец понял, в чем проблема.
У меня было Mapbox.getInstance
в моем файле приложения (который запускается перед первым действием), что каким-то образом сделало более позднее Mapbox.getInstance
значение в файле действия неактуальным.
Как только я изменил токен в первом Mapbox.getInstance
, это сработало.
Вероятно, причина, по которой это сработало для uri из примеров mapbox, заключается в том, что эти uri являются общедоступными и не требуют определенного токена.
Надеюсь, это поможет кому-то с такой же проблемой.