OpenLayers 读/写 GeoJSON

OpenLayers read / write GeoJSON

我尝试将 OpenLayers 地图层的要素存储到数据库中,因此我尝试将要素对象写入 GeoJSON 对象。但是当我尝试读取对象时出现 Unsupported GeoJSON type: undefined 错误。这是我尝试过的:

       const testFeature = new Feature({
          geometry: new Point([0, 0]),
          name: 'Test Point '
        });
        const geoJsonObject = new GeoJSON();
        geoJsonObject.writeFeaturesObject(testFeature);
        console.log(geoJsonObject);

        const importObject = new GeoJSON().readFeatures(geoJsonObject);
        console.log(importObject);

"geoJsonObject"的第一个日志:

{
  "dataProjection": {
    "code_": "EPSG:4326",
    "units_": "degrees",
    "extent_": [
      -180,
      -90,
      180,
      90
    ],
    "worldExtent_": [
      -180,
      -90,
      180,
      90
    ],
    "axisOrientation_": "neu",
    "global_": true,
    "canWrapX_": true,
    "defaultTileGrid_": null,
    "metersPerUnit_": 111319.49079327358
  },
  "defaultFeatureProjection": null
}

这是 importObject 日志中的错误:

Unsupported GeoJSON type: undefined

OpenLayers 版本:6.2.1 文档:https://openlayers.org/en/latest/apidoc/module-ol_format_GeoJSON-GeoJSON.html#writeFeature

谢谢!

除了需要一组带有 writeFeaturesObject 的特征之外,您对 geoJsonObject 的使用是错误的

const geoJsonObject = new GeoJSON().writeFeaturesObject([testFeature]);
console.log(geoJsonObject);

const importObject = new GeoJSON().readFeatures(geoJsonObject);
console.log(importObject);