Как получить доступ к объектам данных внутри массива массивов в javascript/реагировать на Google Maps lat/lng?

avatar
Kug
8 августа 2021 в 17:30
86
3
1

Как сопоставить эти данные с javascript? Я пытаюсь перебрать эти данные для маркеров на картах Google. Проблемы с захватом широты и долготы.

Данные из console.log array --> array --> object --> lat/lng

LatLng: [
        [
            {
                "lat": 28.0440005,
                "lng": -82.3992308
            },
            {
                "lat": 28.050104,
                "lng": -82.39597859999999
            },
            {
                "lat": 29.6900252,
                "lng": -82.3733803
            },
            {
                "lat": 29.6900252,
                "lng": -82.3733803
            },
            {
                "lat": 29.6900252,
                "lng": -82.3733803
            },
            {
                "lat": 29.6900252,
                "lng": -82.3733803
            }
        ]
    ]

Это мой код JavaScript для Карт Google. Пытался захватить широту/долготу таким образом, чтобы маркер перебирал данные. Не уверен в других методах для включения. LatLng — это объект массива, поэтому я не мог использовать метод карты в начале.

    {Object.values(LatLng).map(({ lat, lng }, index) => (
            <Marker lat={lat} lng={lng} key={index}>
              {console.log(Object.values(LatLng))}
            </Marker>
Источник

Ответы (3)

avatar
Jayaram Kasi
8 августа 2021 в 18:59
0

Общий массив LatLng представляет собой двумерный массив объектов.

Вам нужно выполнить цикл по первому элементу в этом массиве. Сначала встряхните дерево и извлеките массив LatLng.

const {LatLng} = // Insert your object structure here

 {LatLng[0].map(({ lat, lng }, index) => (
            <Marker lat={lat} lng={lng} key={index}>
              {console.log(Object.values(LatLng))}
            </Marker>)))}
avatar
iskandar47
8 августа 2021 в 19:02
0
{  
  LatLang && latLang[0].map((item, index) => (
  <Marker lat={item[lat]} lng={item[lng]}                key={index}> 
   {console.log(item[lat] , item[lng])}
  </Marker>
)}
avatar
Rashed Rahat
8 августа 2021 в 17:39
0

Попробуйте:

{Array.isArray(data[0]) && data[0].map((element, index) => (
    <Marker lat={element.lat} lng={element.lng} key={index}>
        {console.log(element.lat, element.lng)}
    </Marker>
))}