我们正在开发我们的 Gis 应用程序,我正在使用 gwt-openlayers,我们正在创建 Vaadin 包装器。
所以我扩展了 MapWidget 并创建了所需的图层和矢量图层并添加了 DrawFeatureControl:
DrawFeatureOptions drawFeatureOptions = new DrawFeatureOptions();
private DrawFeature drawFeaturePoint = = new DrawFeature(vectorLayer, new PointHandler(), drawFeatureOptions);
并赶上事件:
getWidget().getDrawFeatureOptions().onFeatureAdded(new () {
@Override
public void (com.openlayers.client.feature.VectorFeature vectorFeature) {
Window.alert("Feature Added" + vectorFeature.getFID());
serverRpc.featureAdded(buildVectorFeature(vectorFeature));
}
});
由于某种原因,这不起作用;尽管以下应该几乎相同的工作正常:
getWidget().getVectorLayer().addVectorFeatureSelectedListener(new () {
@Override
public void onFeatureSelected(FeatureSelectedEvent eventObject) {
serverRpc.featureSelected(buildVectorFeature(eventObject.getVectorFeature()));
}
});
在矢量图层上使用 (addVectorFeatureAddedListener) 将在每次将要素添加到 VectorLayer 时触发,并且在使用 DrawFeatureControl 时不会触发。有人可以帮我捕捉使用 DrawFeatureControl 绘制的特征吗?
顺便说一句,我在 MapWidget 上有一个集群和 BBox 策略,我不知道这是否会改变任何东西。