Як я можу скасувати вибір функції Openlayers?


9

Я можу визначити вибрані функції на моїй карті за допомогою наступного рядка:

vector_layer.selectedFeatures

Я хотів би мати можливість скасувати вибір цієї функції за допомогою окремої функції (а не обробника подій). Я намагався використовувати функції unselect()і unselectAll()безуспішно, і не можу знайти жодного прикладу такого підходу.

Я знаю, що натискання на обраний об’єкт може бути використане для unselect. У цьому випадку я хочу програмного рішення.


Це не зовсім те, що я намагаюся зробити, але unSelectтут обговорюються питання: github.com/openlayers/openlayers/pull/486
djq

дякую за пропозиції Я бачив це і намагався адаптувати їх до мого шару сітки. Наскільки я можу сказати, кожен приклад для вибору функцій, пов'язаних із створенням функцій спочатку. Я ще не бачив робочого прикладу, коли завантажується існуючий шар і користувач вибирає функції з цього шару. Я починаю думати, що selectFeature працює лише для векторів, які ви створюєте на ходу. Я сподіваюся, що це неправда, інакше я в біді. ;)
user2378729

Відповіді:


13

OpenLayers 2: Ви можете скасувати вибір функцій за допомогою скасування та скасування виборуВсі методи керування SelectFeature:

selectControl = new OpenLayers.Control.SelectFeature(vectorLayer);
...
map.addControls([selectControl]);
selectControl.activate();

// unselect any specific feature...
selectControl.unselect(vectorLayer.features[0]);
// ...or all features
selectControl.unselectAll();

Якщо це не працює, можливо, у вашому коді є помилка.

Ось скрипка: http://jsfiddle.net/dHxnh/1/


Я цього не бачу в документації ... але це працює!
пакман

1

Відкриваючі шари, що не відбирають об'єкти - різні методи

За допомогою клавіші Shift виберіть кілька функцій. Використовуйте клавішу ctrl для перемикання вибору на функції по черзі. Примітка: опція "clickout" не впливає, коли вибрано "курсор"

http://openlayers.org/dev/examples/select-feature.html

натисніть, щоб скасувати вибір


1
Вибачте, мав би додати слово програмний. Я хочу unselectвикористовувати функцію, а не клацання.
djq
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.