Разница между geocoder.setInput() и geocoder.запрос ()?

#javascript #mapbox #mapbox-gl-js

#javascript #mapbox #mapbox-gl-js

Вопрос:

MapboxGeocoder предоставляет seInput и query методы, оба из которых могут быть использованы для установки начального адреса в раскрывающемся списке автозаполнения. Но проблема в том, что оба задают входные данные и извлекают похожие местоположения и показывают результаты. Можно ли просто установить входное значение, не показывая список предложений places?

Ответ №1:

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

В отличие от query, который используется для «установки и запроса ввода», setInput только устанавливает ввод.

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

map.addControl(geocoder);

geocoder.setInput("New York");
  

Комментарии:

1. setInput запускает поиск места и показывает выпадающий список с результатами запроса.

2. Это не должно работать таким образом. Если вы посмотрите на anatolysukhanov.com/mapbox/stackoverflow/geocoder.html , вы увидите, что он просто устанавливает для входного текста значение «Нью-Йорк».

3. Спасибо. Но, я думаю, это работает только в старых версиях. Я использую последнюю версию 4.7.0, и они изменили seInput метод запроса входной строки. Пожалуйста, найдите коммит здесь .

4. Ах, я вижу, вы совершенно правы. Он изменился либо в 4.6.0, либо в 4.7.0. Я открыл проблему github.com/mapbox/mapbox-gl-geocoder/issues/401 за это. Давайте посмотрим, что они ответят. Кстати, почему вы не можете использовать 4.5.1?

5. Да, пока я буду просто использовать 4.5.1