2015-08-26 5 views
-1

Мое усилие состоит в том, чтобы удалить уже нарисованный круг в карте «Открытые слои». Это единственный вектор в карте, так что я решил попробовать удалить все функции следующим образом:removeAllFeatures не является функцией

var vectors = map.getLayersByClass('OpenLayers.Layer.Vector'); 
    vectors.removeAllFeatures(); 

я получил следующее сообщение об ошибке:

removeAllFeatures is not a function 

Что моя ошибка? Спасибо.

+0

Проверьте, если map.getLayersByClass ('OpenLayers.Layer.Vector') возвращает пустой объект? Что делает console.log (векторы)? – aarjithn

ответ

2

removeAllFeatures является функцией объекта слоя. getLayersByClass возвращает массив слоев. Попробуйте следующее:

var vectors = map.getLayersByClass('OpenLayers.Layer.Vector'); 

vectors.forEach(function(vector){ 
    vector.removeAllFeatures(); 
}); 
Смежные вопросы