Геокодер Mapbox без карты - PullRequest
0 голосов
/ 01 апреля 2020

Как я могу использовать Mapbox Geocoder без карты?

Когда я удаляю код карты, текстовое поле автозаполнения исчезает.

Я попробовал (что у меня не работает):

    <div id="geocoder"></div>

    mapboxgl.accessToken = 'pk.eyJ1IjoiaGFzc2Fuc2FyZGFyYmFuZ2FzaCIsImEiOiJjazg3MHNldWowbGllM2hvMGloMGY0MXd0In0.baO5lzQ8q4al4T0rDAloQA';

    var geocoder = new MapboxGeocoder({
        accessToken: mapboxgl.accessToken,
        mapboxgl: mapboxgl
    });

    geocoder.on('select', function (data) {

        geocoder._toggle()
    })

    geocoder.on('result', function(result) {
       console.log(result);
    })

    document.getElementById('geocoder');

Как мне использовать только автозаполнение Geocoder без отображения карты?

Вот моя рабочая скрипка:

https://jsfiddle.net/rv085oL1/

1 Ответ

1 голос
/ 01 апреля 2020

Документация для mapbox/mapbox-gl-geocoder здесь объясняет, как добавить геокодер без карты. То есть значение JavaScript в вашем JSFiddle должно быть обновлено до:

var geocoder = new MapboxGeocoder({ accessToken: mapboxgl.accessToken });
geocoder.addTo('#geocoder');

Кроме того, вам нужно обновить версию mapbox-gl-geocoder как минимум до v4.5.0. Это версия, в которой был интегрирован метод addTo, как отмечено в журнале изменений здесь .

...