Открывает карту по имени файла или URL.
Visual Basic:
Function Open(Path As String) As Boolean
Path - полное имя файла карты (.zmp) или URL карты на ZuluServer: zulu://сервер:порт/путь/карта.zmp, с авторизацией по имени и паролю - zulu://имя:пароль@сервер:порт/..., по учетным сведениям Windows - zulu://$winnt$@сервер:порт/....
Метод возвращает True, если карта открыта. Для файла, которого нет, и для файла, который не является картой (например, файла слоя .b00), метод возвращает False, и прежняя карта остается. Пустая строка дает True, но карта при этом становится пустой.
Открытая карта целиком заменяет прежнее содержимое объекта: слои, название (Name) и путь к файлу (PathName). Если объект - карта в окне ZuluGIS, новая карта открывается в том же окне, и название его вкладки меняется. Вид окна при этом остается на прежнем месте, поэтому новая карта может оказаться за пределами окна; показать ее можно, например, методом GoToXY, перейдя к середине ее габаритов.
Пример открывает файл рабочей карты в отдельном объекте ZuluLib.MapDoc, не трогая окно ZuluGIS, и сообщает название карты и число ее слоев.
Visual Basic:
Sub MapDoc_Open 'Берем рабочую карту и путь к ее файлу Set Doc = Zulu.ActiveMapDoc P = Doc.PathName 'Отдельная карта без окна Set M = CreateObject("ZuluLib.MapDoc") If M.Open(P) Then MsgBox "Открыта карта """ & M.Name & """, слоев: " & M.Layers.Count Else MsgBox "Не удалось открыть карту: " & P End If End SubPython:
import zulu def Macro_MapDoc_Open(): # Берем рабочую карту и путь к ее файлу doc = zulu.App.ActiveMapDoc p = doc.PathName # Отдельная карта без окна M = zulu.MapDoc() if M.Open(p): print("Открыта карта", repr(M.Name), ", слоев:", M.Layers.Count) else: print("Не удалось открыть карту:", p)