Итак, я делаю компонент в vueX, который получает массив местоположений, которые вводит пользователь (с помощью API Карт), а затем я пытаюсь превратить этот массив в координаты, чтобы я мог сохранить их для дальнейшего использования. Чтобы сохранить эти координаты, я отправляю их в магазин проектов. Все работает нормально, за исключением того факта, что сохраняется только элемент last массива. Я думаю, что проблема связана с тем, что я пытаюсь совершить много раз в цикле, но я не совсем уверен, как это исправить. Любые идеи? Спасибо и извините, если я написал что-то не так, engli sh не является моим основным языком!
PS - я могу сказать, что получение ввода от пользователя и передача его в массив работает, а фиксация работает как хорошо (даже если только последний пользовательский ввод), так что ни получение ввода, ни сам коммит не являются проблемой!
geocodeAddress(geocoder) {
let markerr = [];
let address = "";
for (let i = 0; i < this.pois.length; i++) {
address = this.pois[i].name;
geocoder.geocode({ address: address }, (results, status) => {
if (status === "OK") {
this.map.setCenter(results[0].geometry.location);
markerr = new google.maps.Marker({
map: this.map,
position: results[0].geometry.location
});
markerr.setMap(this.map);
this.coord = markerr;
this.$store.commit("ADD_ROUTE", {
id: Number(this.getLastRouteId()) + 1,
name: address,
lat: this.coord.getPosition().lat(),
lng: this.coord.getPosition().lng()
});
} else {
alert(
"Geocode was not successful for the following reason: " + status
);
}
});
}
}