Openlayers Openlayer放置特征后如何启用特征的拖动?
似乎我有一个简单的要求,但我对OpenLayer的知识似乎有限 我需要在地图中放置一个要素,放置后,将该要素拖动到正确的位置,然后获取纬度/长度坐标。如果我可以删除该功能重新开始,那就太好了 但首先: 我已成功放置功能,但无法从drawfeature切换到dragfeature。 如果有更好的方法来实现我的目标,我会非常乐意学习Openlayers Openlayer放置特征后如何启用特征的拖动?,openlayers,Openlayers,似乎我有一个简单的要求,但我对OpenLayer的知识似乎有限 我需要在地图中放置一个要素,放置后,将该要素拖动到正确的位置,然后获取纬度/长度坐标。如果我可以删除该功能重新开始,那就太好了 但首先: 我已成功放置功能,但无法从drawfeature切换到dragfeature。 如果有更好的方法来实现我的目标,我会非常乐意学习 // create the map variable map = new OpenLayers.Map("map"); // create layers var ma
// create the map variable
map = new OpenLayers.Map("map");
// create layers
var mapLayer = new OpenLayers.Layer.OSM(); // openstreetmap
var vectorLayer = new OpenLayers.Layer.Vector("Vector", {styleMap: styleMap}); // vector
// add the layers to the map
map.addLayer(mapLayer);
map.addLayer(vectorLayer);
map.addControl(new OpenLayers.Control.MousePosition());
var drawFeature = new OpenLayers.Control.DrawFeature(vectorLayer, OpenLayers.Handler.Point);
var dragFeature = new OpenLayers.Control.DragFeature(vectorLayer);
map.addControl(drawFeature);
drawFeature.activate();
vectorLayer.onFeatureInsert = function () {
drawFeature.deactivate();
// how to switch to drag feature???
// dragFeature.activate(); does not seem to work
}
...
map.setCenter (lonLat, zoom);
谢谢
Marco您需要将dragFeature控件添加到地图中:
map.addControl(drawFeature);
在添加drawFeature控件的地方执行此操作,那么activate()将按原样工作。确实这样做了,我想我的代码中有一些输入错误。谢谢你的回复!