【发布时间】:2021-07-11 08:17:43
【问题描述】:
在下面发布的代码中,我想循环遍历数组的内容
features[0]["values_"]["geometry"]["flatCoordinates"]
对于所有在 for 循环之外的控制台语句,它们会被打印出来并包含数据。但是,当我运行应用程序时,我会收到以下错误
ERROR TypeError: Cannot set property '0' of undefined
为了解决这个问题,我注释掉了 for 循环中的前两行,并打印了变量“i”的值。只有当我 arivate 循环内的前两行时,才会收到错误消息。 请告诉我如何解决此错误
代码:
private renderSelectedSite(){
var features = (new GeoJSON()).readFeatures(this.selectedSite.geometry);
console.log("this.selectedSite.geometry: ",this.selectedSite.geometry)
console.log("features ",features)
console.log("features ",features[0]["values_"]["geometry"]["flatCoordinates"])
console.log("features ",features[0]["values_"]["geometry"]["flatCoordinates"].length)//84
console.log("features ",features[0]["values_"]["geometry"]["flatCoordinates"][0])//736437.816446109
var points: any[];
for (var i = 0; i < features[0]["values_"]["geometry"]["flatCoordinates"].length; i++) {
var e = features[0]["values_"]["geometry"]["flatCoordinates"][i];
points[i] = transform(e,'EPSG:4326','EPSG:3857');
console.log("points[i] ",i)
}
【问题讨论】:
-
您能否将问题中的代码调整为可以工作的 sn-p,我们可以在我们的答案中使用和修改它?
-
添加您正在尝试的坐标通常非常有用(正如您在本网站中看到的,坐标顺序在某些基准上发生变化,有些使用角度,有些使用米(或其他长度单位)等)
标签: javascript angular typescript openlayers geojson