GMap.NET for online/offline maps

ActiveX, .NET, DLL
Ответить
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

GMap.NET for online/offline maps

Сообщение Vitekkz88 »

Здрасти-здрасти Вам, люди добрые!
Давненько ничего не выкладывал интересного. Возникла задача поиграться с картографией, а именно:
отобразить, добавить маркеры по координатам(широта, долгота) ну и проанализировать возможность
подъема различного функционала, актуального для карт.
Начал гуглить и...а нет ничего нормального с поддержкой в LabVIEW. Какой-то индусский код, который непонятно где
был вложен и ныне недоступен, какие-то платные тулкиты, дичь из http-запросов и возрата карты, кукиш в режиме офлайн,требования ключей...
Пруфы:
http://sine.ni.com/nips/cds/view/p/lang/ru/nid/216588
http://sine.ni.com/nips/cds/view/p/lang/ru/nid/213506
https://forums.ni.com/t5/Example-Code/G ... anguage=en
https://forums.ni.com/t5/LabVIEW/i-want ... anguage=en

Окинул взором решения на основе использования GMap.Net. Это оказалось именно то,
что мне нужно и как нужно.
Однако, с поддержкой в LabVIEW опять же облом...кто-то код потерял, а кто-то просто не делал, мол
есть такая библиотека, а как и чего там - не пробовали.
Я попробовал и мне понравилось.
У этой бесплатной библиотеки богатейший функционал и возможности.
Линк: https://archive.codeplex.com/?p=greatmaps
Инструкция:
Распаковать, перейти в sourceCode\greatmaps\Build и запускаем Build Demos NET4.bat
После выполнения скрипта появится папка Release-NETv4.0, в которой есть необходимые
библиотеки GMap.NET.Core.dll и GMap.NET.WindowsForms.dll. Эти библиотеки нужно будет добавить
в список .Net Constructor.
GMap.NET.WindowsForms.dll - вызываем для .NETcontainer в LabVIEW на лицевой панели. В результате
получим контейнер с новым графическим элементом для карты.
Для программирования используются обе библиотеки. GMap.NET.WindowsForms.dll - для управления
свойствами контрола, GMap.NET.Core.dll - набор классов и методов для добавления различного функционала:
от добавления маркеров,построения пути и до кэширования карты.
Для своих тестов я сделал кеширование карты с помощью Demo.WindowsForms.exe. Всё хорошо, в офлайн режиме
кешированная карта погружается.

А теперь из неприятного: я не могу прикрепить архив с проектом, который весит 3 МБ. Что делать?
Вложения
Карта.png
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Artem.spb

Activity Автор
professor
professor
Сообщения: 3393
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: GMap.NET for online/offline maps

Сообщение Artem.spb »

[quote=="Vitekkz88"]А теперь из неприятного: я не могу прикрепить архив с проектом, который весит 3 МБ. Что делать?[/quote]
Залить на гитхаб и сделать доступным всем :)

А офлайн прям работает? откуда карты берёт? Мы как раз какой-то странный тулкит используем через "браузер". На столько странный, что я даже название не помню :)
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: GMap.NET for online/offline maps

Сообщение Vitekkz88 »

Artem.spb, да, в офлайне работает хорошо.
Карту я кешировал и сохранял. Кешировалась карта этой же библиотекой и сохранялась в формате .gmdb. В Labview я указывал тип подключения ServerOrCache и указывал путь к папке с кешированной картой. Есть интернет - грузим с сервера. Нет интернета - грузим из папки. Наличие-отсутвие подключения определяется динамически, следить за этим не нужно.
Карты можно использовать от разных поставщиков: от Гугла и до OpenMapStreet. Последняя является бесплатной и без претензий к вопросам кеширования и распространения.
Ещё один вариант использования оффлайн-карты: загрузка её с локального сервера. На рабочем ПК разворачивается локальный сервер типа ms4w. На сервер кладётся папка с картой или её фрагментом, которая будет грузиться. Сделать фрагмет карты можно с помощью программы SAS - планета.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
zxc_pavel
adviser
adviser
Сообщения: 242
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 9 раз
Поблагодарили: 23 раза
Контактная информация:

Re: GMap.NET for online/offline maps

Сообщение zxc_pavel »

Добрый день!
Скиньте, пожалуйста, пример программы (вгрузить в control сохраненную карту и как точки на ней ставить).
Спасибо
Ответить

Вернуться в «Коммуникация с приложениями»