考虑GWT-OpenLayers展示中的这个例子。该示例分别实现了导航和框选择特性。如何同时实现导航和框选择功能?例如,我只在按"Shift键"或"Ctrl键"时进行选择,其余时间进行导航。
我最终做了以下对我有用的事情:
创建一个没有控件的map:
defaultMapOptions.setControls(new JObjectArray(new JSObject[0]));
然后向地图添加自定义控件。(这里我只添加一个)
map.addControl(new PanZoomBar());
PanZoomBar
可以帮助平移和缩放。这将修复导航。对于方框选择,
SelectFeatureOptions selectBoxFeatureOptions = new SelectFeatureOptions();
selectBoxFeatureOptions.setBox(true);
SelectFeature boxSelectFeature = new SelectFeature(vectorLayer,selectBoxFeatureOptions);
boxSelectFeature.setClickOut(false);
boxSelectFeature.setToggle(false);
boxSelectFeature.setMultiple(false);
boxSelectFeature.setToggleKey("ctrlKey");
boxSelectFeature.setMultipleKey("shiftKey");
map.addControl(boxSelectFeature);
附加参考