Reactjs создать объявление массива нескольких объектов
Ниже приведен мой код, когда я пытаюсь получить координаты полигона из react-google-maps:
const coords = { lat:{}, lng:{} }
getCoordinates: () => (polygon) => {
const paths = polygon.getPath()
const coor = paths.b
{coor.map(function(coor, i){
coords.lat= coor.lat()
coords.lng= coor.lng()
})}
return console.log(coords)
}
Я пытаюсь получить массив объектов для "coords", как показано ниже:
coords = [
{ lat: 3.1323583333745533, lng: 101.62676453590393 },
{ lat: 3.1318226928949433, lng: 101.62672162055969 },
{ lat: 3.131753059612469, lng: 101.6274243593216 }
]
Но использование кода даст мне следующее:
coords = {
lat: 3.131753059612469,
lng: 101.6274243593216
}
Это последние координаты из трех.
Как я могу получить все три координаты под "координатами"?
2 ответов:
Вы должны нажать на массив вместо объекта, надеюсь, это поможет!
let coords = []; getCoordinates: () => (polygon) => { const paths = polygon.getPath(); const coor = paths.b; coor.forEach((c) => { coords.push({ lat: c.lat(), lng: c.lng() }); }); return console.log(coords); }
Этот код действительно запутан. Вы, кажется, ищете
function getCoordinates(polygon) { const paths = polygon.getPath() const coords = paths.b.map(coor => ({ lat: coor.lat(), lng: coor.lng() })); return coords; } console.log(getCoordinates(…));
Comments