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

C#, пример карты

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
C#, пример карты
 
Добрый. В настоящий момент, изучаю Git Toolkit. Подскажите, если Demo карты, которые бы 100% корректно взаимодействовали с системой ГИС Панорама?
Скажем, те, что у Вас в документации указаны...

 
В инсталляцию Git Toolkit входит карта \Example\data\Noginsk.sitx. Можете работать с ней.
 
Указанная Вами карта у меня не открывается.  Это может быть связано с какими нибудь ключами или лицензиями? Спс

Изменено: Денис Вицко - 03.06.2022 11:29:28 (исправил вставку картинок)
 
Нет. Карта открывается. В 14-й версии есть пример на Pyton. Можете его попробовать и убедиться, что карта открывается и показывается.
 
Цитата
Alexander Volovikov написал:
Это может быть связано с какими нибудь ключами или лицензиями?

Нет.
Во-первых, данная карта будет открываться без ключа.
Во-вторых, если карте требуется ключ, то функция отработает корректно и вернет ноль, и при включенной выдаче сообщений на экран будет показан диалог с сообщением о нелегальной копии.
У Вас же ошибка выполнения кода программы.

Причина может быть в некорректном объявлении прототипов функций, либо неверном указании стандарта их вызова.
Либо в плохих стоковых параметрах.

Это у Вас в Windows или в Linux?

Пример описания прототипов в С# в проекте под Windows (как правильно в Линуксе это объявить в C# не подскажу):
Цитата

       [DllImport(GisLibrary, CharSet = CharSet.Ansi)]
       public static extern int mapOpenData(string name, int mode);

       [DllImport(GisLibrary, CharSet = CharSet.Ansi)]
       public static extern int mapSetStructureControlFlag(int flag);

       [DllImport(GisLibrary, CharSet = CharSet.Ansi)]
       public static extern int mapAppendData(int hMap, string name, int mode);

      [DllImport(GisLibrary, CharSet = CharSet.Ansi)]
       private static extern IntPtr mapGetMainName(int hMap);
       public static string netGetMainName(int hMap)
       {
           IntPtr ptr = mapGetMainName(hMap);
           if (ptr == IntPtr.Zero) return string.Empty;
           return Marshal.PtrToStringAnsi(ptr);
       }

Если, например,  в mapOpenData передать строку в многобайтовой кодировке, либо mapOpenDataUn передать строку в однобайтовой кодировке, - будет ошибка.
Могу ошибаться, но лучше избегать нетипизированных объявлений строк типа
var str = @"строка"
так как они могут оказаться "подводными камнями", ведь кодировка и количество байт на символ будут зависеть от опций проекта.
Страницы: 1
Читают тему (гостей: 1)



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

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