Я хотел бы получить лат и lng из адреса вместо того, чтобы получать их напрямую из json данных, как у меня сейчас.
Мой текущий код
const createMarkers = (markersData) => markersData.branches.map((location) => {
const { type, lat, lng, name } = location;
const icon = createMarkerIcon(type);
return new google.maps.Marker({
position: {
lat,
lng,
},
title: name,
icon,
isToggled: false,
customData: location,
});
});
И Я хочу что-то вроде этого
const createMarkers = (markersData) => markersData.branches.map((location) => {
const { type, name, street, city } = location;
const icon = createMarkerIcon(type);
const address = street + ', ' + city;
var loc = new Array();
const geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address, 'region': 'cz' }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
loc[0] = results[0].geometry.location.lat();
loc[1] = results[0].geometry.location.lng();
}
else {
return ("Error: " + status);
}
});
return new google.maps.Marker({
position: {
lat: loc[0],
lng: loc[1],
},
title: name,
icon,
isToggled: false,
customData: location,
});
});
Что теоретически это даст мне широту и долготу от адреса, и тогда я смогу передать их маркеру. К сожалению, в действительности это дает мне неопределенные результаты для переменной lo c. Любая помощь приветствуется. Спасибо!