我试图在地图上显示GeoJSON多边形。我已经使用通过的OpenLayers具有以下数据提供的例子,但只显示第二多边形: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.见https://en.wikipedia.org/wiki/Scientific_notation – Sander
当然,好主意必须是这个。我会更新我的第一篇文章 – Kamzz
第二个区域是大约2.000.000 x 2.000.000个单位 - 第一个4 x 8个单位。如果两个功能都显示在同一张地图上,则第一个功能最多显示为非常小(并且可能被大功能隐藏)。如果你从代码中删除大面积会发生什么? – Sander