簡體   English   中英

如何在 GEOjson (Javascript) 中刪除額外的 "

[英]How to delete an extra " in GEOjson (Javascript)

我試圖操縱一個對象 GEOjson 以在我的地圖 OpenLayers 中顯示它。 但是我的 GEOjson 無效。 首先,在我的 API 中,我請求我的數據庫恢復幾何,然后我通過 GEOjson.parse 解析它: GeoJSON.parse(data, {GeoJSON : 'geometry'}); 數據如下所示:

{
    "type": "FeatureCollection",
        "features": [
            {
                "type": "Feature",
                "geometry": "{\"type\":\"MultiPolygon\",\"coordinates\":[[[[0.699526704561417,49.5855766259652],[0.699132813373672,49.5855472259388],[0.698829663954256,49.5852457878428],[0.698308423811369,49.5855523688003],[0.699127661396565,49.5862481964213],[0.699752271011022,49.5859030239836],[0.699526704561417,49.5855766259652]]]]}",
                "properties": {
                    "libgeo": "Bois-Himont",
                    "nature": "Parcelle bâtie"
                }
            },
            {
                "type": "Feature",
                "geometry": "{\"type\":\"MultiPolygon\",\"coordinates\":[[[[0.696220319484454,49.581274516207],[0.696272071456392,49.5820438187077],[0.697147417334422,49.5815673912038],[0.697102005023975,49.5814546891317],[0.697047441685103,49.5812624281067],[0.6969844037675,49.5812621313821],[0.696220319484454,49.581274516207]]]]}",
                "properties": {
                    "libgeo": "Bois-Himont",
                    "nature": "Parcelle bâtie"
                }
            }, etc...

然后在我的 script.js(該文件旨在顯示地圖和 GEOjson)中,由於 JSON.parse,我解析了數據,但線幾何無效,因為有一個額外的" 並且類型和坐標被包圍經過 ”。

如何刪除額外的“並刪除”類型和坐標?

當幾何體應該是一個對象時,它是一個字符串。 在第一次解析之后,您將需要遍歷特征並將每個幾何字符串解析為一個對象。

var myGeoJSON = JSON.parse(myText);
myGeoJSON.features.forEach( function(feature) { feature.geometry = JSON.parse(feature.geometry) });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM