javascript - OpenLayers 6.8:如何获取 Geojson 矢量坐标?
问题描述
我有一张带有 openlayers 6.8 的基本地图。我显示来自 geojson 的标记。
geojson 示例:
const geoMoscow = new ol.layer.Vector({
source: new ol.source.Vector({
url: './assets/moscow.geojson',
format: new ol.format.GeoJSON()
}),
visible: true,
title: 'geojson',
style: new ol.style.Style({
fill: fillStyle,
stroke: strokeStyle,
image: new ol.style.Circle({
fill: new ol.style.Fill({
color: [245, 49, 5, 1]
}),
radius: 10,
}),
})
})
我想得到这个 geojson 坐标以供进一步使用。我一直在阅读许多使用 geojson.getSource().getFeatures() 的代码示例,这些示例允许从每个功能访问 getCoordinates() 方法。
不幸的是 geoMoscow.getSource().getFeatures() 给出了一个空数组。
我显然遗漏了一些关于 openlayers 逻辑的东西。这似乎完全可行,因为我的 geojson 包含一个带有坐标的特征对象,但我无法访问它。
TLDR:如何从这个 geojson Vector 中访问坐标等信息。
解决方案
您必须等到源加载和解析
geoMoscow.getSource().on('featuresloadend', function(){
console.log(geoMoscow.getSource().getFeatures());
});
源在添加到地图之前不会加载。
推荐阅读
- macos - Flutter - 如何在不使用包的情况下获取mac地址
- vue.js - VUE - 未找到模块。无法导入组件
- javascript - 调用 vue-grid-layout 的方法 layoutUpdatedEvent 时来自 Highcharts Vue 的回流错误
- python - Discord.py 如何使命令特定于频道
- apache-spark - 什么是折叠柱?
- excel - 如何在excel单元格中找到任何英文字母?
- python - 计算成绩的程序
- excel - 如何在 ClosedXML 中复制 Excel 百分比格式
- python - 如何在 tkinter 中显示 mplfinance 图表
- android - onChanged() 在 HttpLoggingInterceptor 记录网络响应之前触发