Openlayers 3 GeoJSON 坐标显示错误结果

Openlayers 3 GeoJSON coordinates shows wrong result

我正在使用 angular-openlayers-directive 来构建我的项目。

我尝试重写 geojson 的 example 部分,因为我将动态获取点信息。所以我在里面制作了 geojson 的源代码部分,而不是从 json 文件加载。但是,我的代码的位置与我预期的完全不同。

结果假设在我设置的坐标处显示一个点。但是点就像在 [0, 0] 处。如果我将 更改为使用从 json 文件加载,那将起作用。

我不知道为什么坐标变化这么大。如果有人知道原因,请告诉我!我会很感激的。

以下是我的代码:

        source: {
            type: "GeoJSON",
            projection: 'EPSG:4326',
            geojson: {
                object: {
                    type: "FeatureCollection",

                    features: [{
                        type: "Feature",
                        id: "TWN",
                        properties: {
                            name: "Taiwan"
                        },
                        geometry: {
                            type: "Point",
                            coordinates: [25.038507, 121.525527]
                        }
                    }]
                }
            }
            //url: 'json/ESP.geo.json'
        }

您提供的 GeoJSON 无效。 GeoJSON 坐标对采用 longitude/latitude 的形式,而不是您在台湾使用的 latitude/longitude 形式。切换它们,你会没事的。

'projection' 属性的放置有误。下面的答案是正确的。

source: {
        type: "GeoJSON",
        geojson: {
            object: {
                type: "FeatureCollection",

                features: [{
                    type: "Feature",
                    id: "TWN",
                    properties: {
                        name: "Taiwan"
                    },
                    geometry: {
                        type: "Point",
                        coordinates: [25.038507, 121.525527]
                    }
                }]
            },

            projection: 'EPSG:4326',
        }

}