Преобразовать массив координат в массив google.maps.LatLng - PullRequest
0 голосов
/ 02 декабря 2018

Я получаю следующую ошибку, пытаясь создать массив google.maps.LatLng:

ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'NaN' of undefined

Вот что я делаю:

Я динамически заполняю бимассив координат GPS, например:

const array = [
    [1.23123, -1.23123],
    [4.56456, -4.56456],
    [7.89789, -7.89789]
]

, который я пытаюсь преобразовать в массив google.maps.LatLng, выполнив следующие действия:

const latLngArray = [];

for (let i = 0; i < array.length; i++) {
  latLngArray.push(new google.maps.LatLng(array[i][0], array[i][1]));
}

И затемназначив его моему новому HeatmapLayer следующим образом:

this.heatmap = new google.maps.visualization.HeatmapLayer({
  data: latLngArray,
  map: this.map
});

Карта загружается просто отлично, но точки, связанные с координатами, нет (и я получаю эту ошибку).

Но если я вручную создаю следующую функцию и назначаю ее полю данных в HeatmapLayer, это работает:

getPoints() {
    return [
      new google.maps.LatLng(1.23123, -1.23123),
      new google.maps.LatLng(4.56456, -4.56456),
      new google.maps.LatLng(7.89789, -7.89789)
    ]
}

Что я делаю не так?

1 Ответ

0 голосов
/ 02 декабря 2018

Вы можете написать что-то вроде ....

let latLngArray = [];

for (let i = 0; i < array.length; i++) {
  const gData = new google.maps.LatLng(array[i][0], array[i][1]);
  latLngArray.push(gData);
}
...