add
イベントを作成する方法や、機能がソースに追加されたときにイベントにリスナーを追加する方法がわかりません。私はdrawend
イベントは、私は必要なものですが、それが判明したとして、このイベントが発生したとき、機能はまだソースに追加されていないことが考え機能イベントを追加する
draw.on("drawend", function (e) {
//....
});
:のようにこの時点で私は、他のイベントの束を持っています。
add
イベントを作成する方法や、機能がソースに追加されたときにイベントにリスナーを追加する方法がわかりません。私はdrawend
イベントは、私は必要なものですが、それが判明したとして、このイベントが発生したとき、機能はまだソースに追加されていないことが考え機能イベントを追加する
draw.on("drawend", function (e) {
//....
});
:のようにこの時点で私は、他のイベントの束を持っています。
試してソースに手動で追加する: あなたがソース層に機能をプッシュするdrawendイベントにオーバーレイ
var features = new ol.Collection();
var featureOverlay = new ol.layer.Vector({
source: new ol.source.Vector({features: features}),
style: new ol.style.Style({
fill: new ol.style.Fill({
color: 'rgba(255, 255, 255, 0.2)'
}),
stroke: new ol.style.Stroke({
color: '#ffcc33',
width: 2
}),
image: new ol.style.Circle({
radius: 7,
fill: new ol.style.Fill({
color: '#ffcc33'
})
})
})
});
featureOverlay.setMap(map);
var draw = new ol.interaction.Draw({
features: features, // we set the newly drawn feature on the overlay declared previously
type: /** @type {ol.geom.GeometryType} */ ('Polygon') // for example polygon
});
にドローインタラクションを追加するには、代わりに
draw.on('drawend', function(event) {
yourSource.addFeature(event.feature);
}
をしたいです'addfeature'イベントを使用できます:
source.on('addfeature', function (ft) {
// ft - feature being added
});