JS OpenLayers在单击时获取ol/Feature值



我正在使用OpenLayers,我想从标记(ol.Feature(获取所有值。 您可以在文档中看到可以向ol.Feature添加任何值。

import Feature from 'ol/Feature';
import Polygon from 'ol/geom/Polygon';
import Point from 'ol/geom/Point';
var feature = new Feature({
geometry: new Polygon(polyCoords),
labelPoint: new Point(labelCoords),
name: 'My Polygon' // <--- CUSTOM VALUE
});
// get the polygon geometry
var poly = feature.getGeometry();
// Render the feature as a point using the coordinates from labelPoint
feature.setGeometryName('labelPoint');
// get the point geometry
var point = feature.getGeometry();

我在地图上有一个click事件,我想获取这些值。

this.map.on('click', (args) => {
this.map.forEachFeatureAtPixel(args.pixel, (feature, layer) => {
// do something
console.log(feature.values_); // <---- SEEMS LIKE 'PRIVATE' prop
});
});

看起来ol.Feature没有获取这些值的方法。有没有比feature.values_"更好"的解决方案?

您可以使用以下方法获取所有属性

feature.getProperties()

或者如果你只需要一个,你可以做

feature.get('name')

相关内容

  • 没有找到相关文章

最新更新