GetLayerDef method (ITileLayer)

Возвращает описатель тайлового слоя.

Применяется к:

ITileLayer

Синтаксис:

Visual Basic:

Function GetLayerDef() As TileLayerDef

Описание:

Описатель хранит параметры тайловой схемы: систему координат, модель нумерации, шаблон запроса, диапазон уровней и прочее. Полный список — на странице TileLayerDef.

Правка полученного описателя сама по себе слой не меняет: чтобы новые параметры вступили в силу, описатель возвращают слою методом SetLayerDef.

Интерфейс возвращается для любого слоя, а не только для тайлового, поэтому тип слоя следует проверять отдельно: свойство Type должно быть равно eTileLayer (108) для локального слоя или eRemoteTileLayer (109) для слоя на ZuluServer, см. eLayerType.

Пример:

Visual Basic:

Sub ITileLayer_GetLayerDef
'Создаем тайловый слой OpenStreetMap
Set Def = CreateObject("ZuluLib.TileLayerDef")
Def.SetCRSCode "EPSG:3857"
Def.SetModel 3
Def.SetQueryTemplateString "http://a.tile.openstreetmap.org/"
Set Tools = CreateObject("ZuluLib.ZuluTools")
Tools.TileLayerCreate "C:\Data\osm.zww", Def
'Открываем его и берем интерфейс тайлового слоя
Set L = CreateObject("ZuluLib.Layer")
L.Open "C:\Data\osm.zww"
Set T = L.TileLayer
s = "Название: " & T.GetLayerDef.GetTitle & vbCrLf & _
    "Система координат: " & T.GetLayerDef.GetCRSCode & vbCrLf & _
    "Уровни: " & T.GetLayerDef.GetMinLevel & " .. " & T.GetLayerDef.GetMaxLevel
MsgBox s
End Sub

Python:

import zulu

def Macro_ITileLayer_GetLayerDef():
    # Создаем тайловый слой OpenStreetMap
    Def = zulu.TileLayerDef()
    Def.SetCRSCode("EPSG:3857")
    Def.SetModel(3)
    Def.SetQueryTemplateString("http://a.tile.openstreetmap.org/")
    zulu.ZuluTools().TileLayerCreate(r"C:\Data\osm.zww", Def)
    # Открываем его и берем интерфейс тайлового слоя
    L = zulu.Layer()
    L.Open(r"C:\Data\osm.zww")
    T = L.TileLayer
    d = T.GetLayerDef()
    print("Название:", d.GetTitle())
    print("Система координат:", d.GetCRSCode())
    print("Уровни:", d.GetMinLevel(), "..", d.GetMaxLevel())