尝试创建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中的data字段,它将起作用:
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)
]
}
我在做什么错了?
答案 0 :(得分:1)
您可以写类似....
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);
}