У меня есть вход для поиска адреса, который вызывает Google API для автозаполнения.Это работает, но я хочу добавить токен сеанса в запрос, но я не знаю, как это сделать.
Я ищу везде в Интернете, но вижу только: "используйте var sessionToken = new google.maps.places.AutocompleteSessionToken (); для генерации токена сессии ".Хорошо, но я не знаю, куда поместить эту переменную: /
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=places&key=MY_API_KEY"></script>
<form>
<label>Address</label>
<input id="user_input_autocomplete_address" placeholder="Votre adresse...">
</form>
<script>
function initializeAutocomplete(id) {
var element = document.getElementById(id);
if (element) {
var autocomplete = new google.maps.places.Autocomplete(element, { types: ['address'] });
autocomplete.setComponentRestrictions({'country': ['fr']});
google.maps.event.addListener(autocomplete, 'place_changed', onPlaceChanged);
}
}
function onPlaceChanged() {
var place = this.getPlace();
console.log(place);
for (var i in place.address_components) {
var component = place.address_components[i];
for (var j in component.types) {
var type_element = document.getElementById(component.types[j]);
if (type_element) {
type_element.value = component.long_name;
}
}
}
}
google.maps.event.addDomListener(window, 'load', function() {
initializeAutocomplete('user_input_autocomplete_address');
});
</script>
Это работает, у меня автоматическое завершение, но этот скрипт не использует уникальный токен сеанса.Таким образом, для каждой буквы, введенной во ввод, каждый запрос использует свой запрос.