На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Открыть программно карту с ГИС Сервера

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1 2 3 4 5 След.
RSS
Открыть программно карту с ГИС Сервера
 
Добрый день.
Подскажите пожалуйста как мне открыть как программно с ГИС Сервера, которая находится по следующему пути Е:\Map\02.2021\Рабочая карта\Рабочая карта.sit???

Пишу на С# с использованием GisToolKitActiveFree13

Вот мой код:
int conect = MapAPI.mapOpenConnect("srvgis", (IntPtr)2047);
MapAPI.mapRegisterSystemUserEx((IntPtr)conect);
MapAPI.mapBuildAliasName("srvgis", (IntPtr)2047, "string alias", "name", (IntPtr) 1024);

Я не уверен в том, что нужно передать в параметрах функции mapBuildAliasName - подскажите пожалуйста.
 
  // Сформировать алиас данных на Сервере
 // в формате "HOST#ХОСТ#ПОРТ#ALIAS#условное_имя_карты"
 // host  - имя хоста
 // port  - номер порта
 // number - номер активного подключения к ГИС Серверу от 1 до mapActiveServerCount()
 // alias - имя ресурса (условное имя карты)
 // name  - имя строки для размещения результата
 // size  - максимальный размер строки в байтах
 // При ошибке в параметрах возвращает ноль
mapBuildAliasNameEx(long int number, const WCHAR *alias, WCHAR *name, long int size);

alias (это аналог имени БД) надо узнать у администратора, который размещал данные на ГИС Сервере. Можно воспользоваться вызовом штатных диалогов, которые показывают списки доступных данных.
 
Нет мне надо открыть карту без вызова штатных диалогов. Я сам являюсь администратором ГИС Сервера.

Значит, чтобы открыть карту с ГИС Сервера по данному пути Е:\Map\02.2021\Рабочая карта\Рабочая карта.sit, надо написать так:

MapAPI.mapBuildAliasName("192.160.1.2", (IntPtr)2047, "srvgis", "Рабочая карта", (IntPtr) 1024);

Это будет правильно??
 
Нет, не правильно. В описании функции три параметра:
Первый параметр - long int number, а у Вас строка "192.160.1.2". Здесь передается номер соединения полученный в mapOpenConnect.
Потом идет алиас, в Вашем случае это, скорее всего, "Рабочая карта.sit" (я не знаю с какими параметрами администратор опубликовал карту.
Потом идет параметр куда разместится строка подключения и далее ее размер
 
Для открытия карты с ГИС Сервера программно я выполняю следующие действия:

Мой код на С#:
string name = "Рабочая карта";
int conect = MapAPI.mapOpenConnect("192.160.1.2", (IntPtr)2047);
MapAPI.mapRegisterSystemUserEx((IntPtr)conect);
MapAPI.mapBuildAliasName("192.160.1.2", (IntPtr)2047, "ГКНГ", name, (IntPtr)1024);
MapAPI.mapOpenData(name, (IntPtr)0);

А так же прилагаю скрин настроек моего ГИС Сервера с выделенной Рабочей картой, которую я пытаюсь открыть.
Но все равно не получается открыть карту
Изменено: Александр Махин - 27.02.2021 06:04:09
 
1. Воспользуйтесь функцией mapBuildAliasNameEx.
2. Попробуйте все-таки задать "Рабочая карта.sit"
 
Ок. А как программно указывать из какого каталога открывать карту. Ведь у меня в одном каталоге может быть несколько рабочих карт, но с разной нанесённый обстановкой?  
Изменено: Александр Махин - 27.02.2021 10:27:18
 
Я за субботу и воскресенье пытался открыть Рабочую карту с ГИС Сервера программно, но успехов нет.(((
И не могу понять как мне указывать с каого каталога ее открывать, т.к. у меня Рабочая карта может находится и в другом каталоге только обстановка на ней будет другая?
Скрины прилагаю.
 
А какой получается aliasname?
 
Поставил точку остановки выполнения результат на скрине
aliasname.png (20.82 КБ)
Страницы: 1 2 3 4 5 След.
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности