我有以下发布的 GeoJSON 点数组。我希望能够分别访问 GeoJSON 数组中每个值的属性。例如,对于索引 3 的项目,我想得到
"{\"type\":\"Point\",\"coordinates\":6.7368576747845,51.1141914104954]}"
,
我在下面发布了我的尝试,但它不起作用并返回 undefined
。
请让我知道如何分别访问数组的每个元素,以便我可以获取 coordinates
和 type
的值。
GeoJSON 点数组:
[
"{\"type\":\"Point\",\"coordinates\":[6.73648711211944,51.1144539430392]}",
"{\"type\":\"Point\",\"coordinates\":[6.73628689838002,51.1141803601161]}",
"{\"type\":\"Point\",\"coordinates\":[6.73648765865954,51.1141088970156]}",
"{\"type\":\"Point\",\"coordinates\":[6.7368576747845,51.1141914104954]}",
"{\"type\":\"Point\",\"coordinates\":[6.73641043458919,51.1141123530415]}",
"{\"type\":\"Point\",\"coordinates\":[6.73655920234526,51.1144536412875]}",
"{\"type\":\"Point\",\"coordinates\":[6.73614395402386,51.1142745754592]}",
"{\"type\":\"Point\",\"coordinates\":[6.73642965248497,51.1141830888474]}",
"{\"type\":\"Point\",\"coordinates\":[6.73641750225145,51.1144305273589]}",
"{\"type\":\"Point\",\"coordinates\":[6.73671503777408,51.1141886499952]}"
]
代码
console.log("this.centerPointsAsGeoJSONArray[0].coordinates: ",this.centerPointsAsGeoJSONArray[0].type);
console.log("this.centerPointsAsGeoJSONArray[0].coordinates: ",this.centerPointsAsGeoJSONArray[0]['coordinates']);
console.log("this.centerPointsAsGeoJSONArray[0].coordinates: ",this.centerPointsAsGeoJSONArray[0]["coordinates"]);
答案 0 :(得分:0)
看起来好像您的 GeoJSON 点是一个字符串数组,而不是一个对象数组。我建议首先将字符串解析为 JSON,使用:
JSON.parse(this.centerPointsAsGeoJSONArray[0])
转换为对象,然后访问所需的属性。
编辑 - 基于@Chris-G 评论,使用 this.centerPointsAsGeoJSONArray.map(JSON.parse) 是一种更优雅的方法,除非需要保留原始数据格式作为对象的字符串。