Загрузка / перезагрузка Google Places Автозаполнение введенного значения из place_id - PullRequest
0 голосов
/ 13 июня 2019

У меня есть приложение Angular, которое использует автозаполнение Google Адресов. Я использую его, чтобы помочь людям легко находить контактные адреса, например,

https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

После того, как пользователь отправляет адрес как контактный адрес, он сохраняется в базе данных SQL , включая его идентификатор места (идентификатор места Google).

Теперь, после того как пользователь обновит веб-страницу, я хотел бы предварительно заполнить ввод автозаполнения мест с идентификатором места, хранящимся в базе данных. Документация Google очень запутанная, и я не уверен, как правильно добиться этого, это не должно быть трудным делом. Я ожидаю что-то вроде

var autocomplete = google.maps.places.Autocomplete.initFromPlaceId(_inputRef: HTMLInputElement, _placeId: string) 

Но я не могу найти легкого решения. Что-то сложнее, кажется, что переосмыслить это. Может быть, кто-то с опытом работы в отрасли может мне помочь.

Спасибо

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

Я нашел способ получить место по его идентификатору, например

let placesService = new google.maps.places.PlacesService( this.xxx.nativeElement );
placesService.getDetails({placeId: 'xxxxxxxxxxx-Wo'}, function( _result, _status) {
    console.log( _result, _status );
});

Но по-прежнему нет никаких сомнений в том, как повторно инициализировать поле автозаполнения реальных мест с этим значением.

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

В настоящее время я просто устанавливаю значение HTML контейнера автозаполнения в качестве строки адреса загруженного адреса. Все еще ищем правильное решение для загрузки уникального идентификатора в этот ввод HTML, но это промежуточное решение, похоже, тоже работает. Просто это не всегда может быть 1 на 1 по сравнению с тем, что искали раньше, если Google меняет свои результаты или порядок результатов.

...