【发布时间】:2016-03-20 14:47:52
【问题描述】:
我正在尝试在地图上显示一个 GeoJSON 多边形。我使用 OpenLayers 提供的示例和以下数据,但只显示第二个多边形:
var geojsonObject = {
"type": "FeatureCollection",
"crs": {
"type": "name",
},
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [[[103.92240800000013,21.69931],[100.93664,21.66959500000013],[108.031899,18.67076]]]
}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [[[-5e6, -1e6], [-4e6, 1e6], [-3e6, -1e6]]]
}
}
]
};
我用来解析GeoJSON并将其添加到地图的代码如下:
var vectorSource = new ol.source.Vector({
features: (new ol.format.GeoJSON()).readFeatures(geojsonObject)
});
var vectorLayer = new ol.layer.Vector({
source: vectorSource,
style: styleFunction
});
我注意到不同类型的坐标。在第二组中,坐标表示为 [-5e6, -1e6] 和 e,我不明白,在第一组中 - 不起作用 - 它们看起来像 [103.92240800000013, 21.69931]。
这是我的多边形未显示的可能原因吗?
【问题讨论】:
-
5e6 代表 5 x 10^6 - 或 5000000。见en.wikipedia.org/wiki/Scientific_notation
-
当然,好主意一定是这个。我会更新我的第一篇文章
-
第二个区域大约是 2.000.000 x 2.000.000 个单位 - 第一个区域是 4 x 8 个单位。如果两个要素都显示在同一张地图上,那么第一个要素充其量只会显得非常小(并且可能被大要素隐藏)。如果从代码中删除大区域会发生什么?
-
如果我删除第一个,第二个会显示,但如果我删除第二个,第一个也不会显示。不过谢谢你的想法
-
这个问题令人困惑。目前尚不清楚 OP 是否要求处理具有不同投影几何的无效 GeoJSON,或者他们是否需要帮助从 GeoJSON 中正确显示数据,同时考虑到不同的数据和视图投影。
标签: javascript openlayers-3 geojson