У меня есть слой с перекрывающимися функциями (например, ограничивающие поля). В OL2 элемент управления выбора, по-видимому, выбирал ожидаемую функцию (например, функцию с меньшей площадью поверхности). В OL3 это, похоже, не так. Хотя я мог бы получить все функции на определенном пикселе, я бы предпочел, чтобы элемент управления select возвращал все функции, которые пересекаются с кликом. Любой способ сделать это?OpenLayers 3 выбор нескольких функций из того же уровня
0
A
ответ
0
Чтобы получить все функции в слое, которые пересекаются с помощью мыши щелкните я сделать что-то вроде этого:
map.on("click", function(event) {
var coordinate = event.coordinate;
var features = myVectorLayer.getSource().getFeaturesAtCoordinate(coordinate);
// Do something with the features that were clicked here...
});
2
Вы можете установить multi
член ol.interaction.Select
в true
(это позволяет выбрать все функции в координату, которую вы нажали) и добавьте событие, чтобы выбрать, какую функцию вы хотите выбрать среди всех перекрывающихся функций:
var select = new ol.interaction.Select({
multi: true
});
var fnHandler = function (e) {
e.selected; // array of selected features
e.target; // select interaction
var feature = e.selected.filter(function (feature) {
// do some filtering to choose what feature do you want
})[0];
e.target.getFeatures().clear(); // unselect all features
e.target.getFeatures().push(feature); // select the feature you filtered
};
select.on('select', fnHandler);
Смежные вопросы
- 1. Openlayers 3: Получение данных из нескольких функций
- 2. OpenLayers 3 множественный выбор функции
- 3. Выбор полигонов OpenLayers 3
- 4. Переключение уровня в OpenLayers 3
- 5. Openlayers 3: Выбор функции программно
- 6. Openlayers 3 z-порядок функций
- 7. Добавление нескольких слоев в OpenLayers 3
- 8. Запросить несколько функций в нескольких слоях в Openlayers 3
- 9. Выбор нескольких объектов того же типа
- 10. getFeatureFromEvent из нескольких слоев одновременно в OpenLayers
- 11. Gerrit: настроить ссылки для нескольких ветвей Git того же уровня
- 12. Вызов нескольких функций из одного и того же ресурса PHP
- 13. CoreData & RestKit - выбор того же типа сущности из нескольких источников
- 14. OpenLayers 3 удаление функций не удаляет функции из карты
- 15. Перемещение/перемещение нескольких выбранных функций - OpenLayers
- 16. OpenLayers 3 Features Connected
- 17. Выбор подобных элементов из того же списка
- 18. OpenLayers 3: Жеребьевка стрелка на линии нескольких
- 19. анимация нескольких маркеров в OpenLayers 3
- 20. Предмножество нескольких слоев в OpenLayers 3
- 21. C# Выбор того же индекса для нескольких listBox
- 22. OpenLayers 3 сохраняет показ плитки с более низкого уровня масштабирования
- 23. OpenLayers 3 - увеличение до определенного уровня после анимации
- 24. Разделитель одного и того же переключателя функций в нескольких элементах
- 25. Использование одного и того же параметра для нескольких функций
- 26. XSL-дисплей аналогичных узлов того же уровня
- 27. OpenLayers 3 Стратегия BBOX
- 28. Выбор функции отладки в OpenLayers
- 29. Независимый выбор функций в Openlayers с использованием формата GEOJson
- 30. Рисование нескольких строк из того же класса