【发布时间】:2015-09-15 11:49:18
【问题描述】:
我有这个 GeoJSON 文件 (polygon.geojson)...
{
"type": "Feature",
"geometry": { "type": "Polygon", "coordinates": [ [ [73, 15], [83.0, 15], [83, 5], [73, 5], [73, 15] ] ] },
"properties": { "name": "Foo" }
}
...并将其用作矢量源:
var vectorSource = new ol.source.Vector({
url: 'polygon.geojson',
format: new ol.format.GeoJSON(),
projection : 'EPSG:4326',
});
现在我想通过以下方式获取范围:
var extent = vectorSource.getExtent();
但是,extent 的值是:
Array [ Infinity, Infinity, -Infinity, -Infinity ]
我正在使用 OL 3.9.0,并且带有此源的矢量图层可以正确显示。我做错了什么?
【问题讨论】:
-
您可以尝试将
ol.js替换为ol-debug.js并进入getExtent 方法以真正查看发生了什么(使用您的浏览器开发工具)。也许这会有所帮助。 -
确定不使用
useSpatialIndex或者在矢量源加载任何特征之前调用方法? -
当我想计算范围时,可能数据还没有加载(我注意到在页面加载后打开Web控制台时设置了范围)。如何检查数据是否已加载?