Я пытаюсь настроить геокодирование для моего приложения vue.js. Я не использую стороннюю библиотеку, только карты Google, установленные через npm.
При вызове метода геокодирования выдается сообщение о том, что местоположение свойства является неожиданным. Я пробовал "location", "latlng", координаты и так далее. Долгота и широта происходят от объекта navigator.geolocation
.
Вот часть моего скрипта установки:
Vue.component('catalog', require('./components/Catalog'));
Vue.component('address-autocomplete', require('./components/AddressAutoComplete'));
window.googleMapsClient = require('@google/maps').createClient({
key: "MY_API_KEY"
});
И мой Vue-компонент:
getLocationFromGeoData() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
this.setLocation,
this.showError
);
} else {
showLocationError("Geolocation wird nicht unterstützt!");
}
},
setLocation(position) {
var self = this;
this.location.latitude = position.coords.latitude;
this.location.longitude = position.coords.longitude;
var latLng = {
lat: parseFloat(this.location.latitude),
lng: parseFloat(this.location.longitude)
};
googleMapsClient.geocode({'location': latLng}).asPromise()
.then((response) => {
self.location.address = results[1].formatted_address;
}).catch((err) => {
showLocationError(err);
});
},