1

是否可以在创建矩形后立即删除它我试图这样做:

map.on('draw:created', function (e) {
var type = e.layerType,
layer = e.layer;

if (type === 'rectangle') {
  layer.on('click', function (event) {
    alert(event.target.getLatLngs());
    event.target.removeControl();
  });
}

原因是,我喜欢在矩形内获取所有标记。但是在我得到 Lat 和 lng 之后,我只想再次删除/删除它。目前,我在调试时将其用于单击事件。最好的问候莫滕斯塔克

4

1 回答 1

0

好的。我找到了解决问题的方法:

map.on('draw:created', function (e) {
    var type = e.layerType,
      layer = e.layer;
    drawnItems.clearLayers();
    if (type === 'rectangle') {
      //console.log(layer.getLatLngs());
      //console.log(layer.getBounds());
      //console.log(layer.getBounds().toBBoxString());
      //console.log(layer);
      $.get(ol.url('~/Map/FetchNewMarkers'), { bound: layer.getBounds().toBBoxString() }, function (data) {
        //console.log('From Controller: ' + data);
      });

    }
    //drawnItems.addLayer(layer);
  });

这是drawItems.addLayer(layer) 从事件中删除。

于 2013-04-11T07:24:02.950 回答