Как накачать android mapbox? - PullRequest
       5

Как накачать android mapbox?

0 голосов
/ 10 января 2020

У меня проблемы с надуванием mapbox. Я попытался поместить getInstance в MainActivity, фрагмент загружается с mapbox lo go в самом нижнем левом углу, но карта пуста. Поэтому я пытаюсь поместить getInstance во фрагмент, после чего я получил ошибку.

  @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_map, container, false);
        // Mapbox access token is configured here. This needs to be called either in your application
        // object or in the same activity which contains the mapview.
        Mapbox.getInstance(this, getString(R.string.access_token)); // Error in context:this
        mapView = view.findViewById(R.id.mapView);
        mapView.onCreate(savedInstanceState);
        mapView.getMapAsync(this);
        return view;
    }
   @Override
public void onMapReady(@NonNull final MapboxMap mapboxMap) {
    this.mapboxMap = mapboxMap;
    mapboxMap.setStyle(Style.MAPBOX_STREETS, new Style.OnStyleLoaded() {
        @Override
        public void onStyleLoaded(@NonNull Style style) {

        }
    });
}
}

Работают оба нижних элемента навигации

enter image description here

1 Ответ

0 голосов
/ 10 января 2020

вы забыли упомянуть об ошибке, но я думаю, что ваш код просто работает.

Вы не определили местоположение, в котором должна быть центрирована карта, поэтому она предположительно возвращается к широте / долготе 0/0. Это верно в середине Атлантиды c океана . Таким образом, синий цвет, который вы видите на карте, это просто вода:)

Попробуйте переместить карту и уменьшить масштаб, вы скоро увидите Африку!

Редактировать

Я снова прочитал. Вы говорите об этом?

Mapbox.getInstance(this, getString(R.string.access_token)); // Error in context:this

Ну, если этот код выполняется во фрагменте, вам, вероятно, понадобится getActivity() вместо просто this

...