Страница 1 из 1

Как програмно выбрать (layer.set_select()) слой на карте?

Добавлено: 01 ноя 2024, 17:00
Михаил_К
Добрый день!

Разобрался как можно, программно центрировать и увеличивать на карте выбранный слой (через MapView.show_selection())
Соответственно должна быть возможность программно выбрать ( layer.set_select() ) нужный слой. Но никак не могу разобраться как же (через какой объект), это можно сделать?
Не могу найти, ни в справке, не в каком нибудь примере.

Подскажите пожалуйста, через что это можно сделать?

Re: Как програмно выбрать (layer.set_select()) слой на карте?

Добавлено: 05 ноя 2024, 18:45
Дмитрий
Здравствуйте!

Для того, чтобы выбрать слой, необходимо в менеджер выборки добавить требуемые объекты. Например, из запроса:

Код: Выделить всё

import axipy

qry = axipy.data_manager.query('select * from world where Столица like "М%"')
for feature in qry.items():
    axipy.selection_manager.add(qry, feature.id)

Re: Как програмно выбрать (layer.set_select()) слой на карте?

Добавлено: 07 ноя 2024, 17:33
Михаил_К
Спасибо, но мне нужно немного другое.
У меня уже есть в окне "Управление слоями" - несколько слоев (уже добавленных)
Мне нужно один из них сделать выделенным, через интерфейс это делается через подменю "Выбрать все".
Изображение
Вопрос как это сделать программно ???

Re: Как програмно выбрать (layer.set_select()) слой на карте?

Добавлено: 10 ноя 2024, 21:24
Дмитрий
Если необходимо выбрать все объекты на слое, то можно сделать так:

Код: Выделить всё

table = axipy.data_manager.find('world')
if table:
    axipy.selection_manager.set(table, [f.id for f in table.items()])