OpenLayers Vector Layer Максимальное количество функций - PullRequest
0 голосов
/ 08 декабря 2011

Мне было интересно, можно ли ограничить количество функций, которые вы рисуете на векторном слое.Если у меня уже есть нарисованный многоугольник, и я перехожу к рисованию другого, он удалит первый объект.

Если нет, то возможно добавить слушателя в векторный слой, чтобы я мог стереть все объекты при нажатии нарисовать?

Спасибо !!!

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

Вы не можете установить максимальное количество функций в векторном слое, но у него есть множество событий, в которые вы можете добавить свою собственную логику.Вот доступные события:

"beforefeatureadded", "beforefeaturesadded",
"featureadded", "featuresadded", "beforefeatureremoved",
"beforefeaturesremoved", "featureremoved", "featuresremoved",
"beforefeatureselected", "featureselected", "featureunselected", 
"beforefeaturemodified", "featuremodified", "afterfeaturemodified",
"vertexmodified", "vertexremoved", "sketchstarted",
"sketchmodified", "sketchcomplete", "refresh"

Вы можете использовать «beforefeatureadded», например:

your_vectror_layer.events.on({'beforefeatureadded': function(){
  //Remove first feature or whatever you want to do
}});
0 голосов
/ 04 апреля 2013

вы можете сделать кнопку, и когда вы нажмете на нее, она удалит все объекты в вашем векторном слое:

map.layers [1] .removeAllFeatures ();

Здесь 1 - идентификатор моего уровня (мой векторный слой - второй после уровня OSM)

Удачи!

...