Я получил поле ввода, в котором есть автозаполнение из мест карт Google. Вот код
<input class="form-control" type="text" id="location" name="location" @change="findLocation()" required>
<script>
var add_car = new Vue({
data() {
return {
location: '',
lat: 0,
long: 0,
}
},
methods: {
findLocation() {
var location = document.getElementById('location').value;
axios.get(`https://maps.googleapis.com/maps/api/geocode/json?address=${location.split(' ').join('+')}&key=my_key`)
.then(response => {
var result = response.data.results[0];
this.lat = result.geometry.location.lat;
this.long = result.geometry.location.lng;
});
this.location = location;
},
},
created() {
function initialize() {
var options = {
componentRestrictions: {country: "us"}
};
var input = document.getElementById('location');
new google.maps.places.Autocomplete(input, options);
}
google.maps.event.addDomListener(window, 'load', initialize);
},
})
</script>
Я пытаюсь вызвать событие изменения после того, как пользователь выбрал значение из автозаполнения, но безуспешно. Например, я начинаю входить в Нью-Йорк - затем он автоматически заполняется до Нью-Йорка, Хилтон Мидтаун, 6-я Авеню, Нью-Йорк, Нью-Йорк, США - но в методе findLocation () var location
- это Нью-Йорк