ITopobase.Tree

Синтаксис Fore

Tree: String;

Синтаксис Fore.NET

Tree: string;

Описание

Свойство Tree возвращает дерево-структуру топоосновы.

Комментарии

Используя дерево-структуру можно с помощью метода ITopobase.GetSpecificTopobase можно создавать пользовательские топоосновы на базе существующих топооснов.

Пример Fore

Для выполнения примера предполагается наличие формы, содержащей компонент MapBox с идентификатором «MapBox1» и компонента UiMap с идентификатором «UiMap1». В компонент «UiMap1» должна быть загружена карта и он должен являться источником данных для компонента «MapBox1».

Добавьте ссылки на системную сборку Topobase.

Sub UserProc;
Var
    Map: IMap;
    Topo, SpecTopo: ITopobase;
    Tree: String;
Begin
    // Получаем карту
    Map := UiMap1.Map;
    // Получаем топооснову
    Topo := Map.Topobase As ITopobase;
    // Получаем дерево-структуру топоосновы
    Tree := Topo.Tree;
    // Выводим её в окно консоли
    Debug.WriteLine(Tree);
    // Задаем новое дерево-структуру для топоосновы
    Tree := "<Topobase><Layer Name=" + """" + "RootLayer" + """" + " Id=" + """" + "1" + """" +
        "><Layer Name=" + """" + "Regions" + """" + " Id=" + """" + "2" + """" +
        "><Shape Name=" + """" + "Республика Адыгея" + """" + " Id=" + """" + "135" + """" + "/></Layer></Layer></Topobase>";
    // Получаем топооснову на базе нового дерева-структуры  
    SpecTopo := Topo.GetSpecificTopobase(Tree, True);
    // Отображаем новую топооснову в компоненте «UiMap1»
    Map.Topobase := SpecTopo As IMapTopobase;
End Sub UserProc;

В результате выполнения примера в компоненте «UiMap1» будет отображен масштабированный фрагмент исходной карты.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.

Imports Prognoz.Platform.Interop.Map;
Imports Prognoz.Platform.Interop.Topobase;

Public Sub UserProc();
Var
    Map: IMap;
    Topo, SpecTopo: ITopobase;
    Tree: String;
Begin
    // Получаем карту
    Map := uiMapNet1.MapUi.Map;
    // Получаем топооснову
    Topo := Map.Topobase As ITopobase;
    // Получаем дерево-структуру топоосновы
    Tree := Topo.Tree;
    // Выводим её в окно консоли
    System.Diagnostics.Debug.WriteLine(Tree);
    // Задаем новое дерево-структуру для топоосновы
    Tree := "<Topobase><Layer Name=" + """" + "RootLayer" + """" + " Id=" + """" + "1" + """" +
        "><Layer Name=" + """" + "Regions" + """" + " Id=" + """" + "2" + """" +
        "><Shape Name=" + """" + "Республика Адыгея" + """" + " Id=" + """" + "135" + """" + "/></Layer></Layer></Topobase>";
    // Получаем топооснову на базе нового дерева-структуры  
    SpecTopo := Topo.GetSpecificTopobase(Tree, True);
    // Отображаем новую топооснову в компоненте «UiMap1»
    Map.Topobase := SpecTopo As DxMapTopobase;
End Sub UserProc;

См. также:

ITopobase