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

Роман Твердов (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Роман Твердов
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 25 След.
Создание модуля прикладной задачи
 
Добрый день.
Для того, чтобы Вам создать свой модуль, Вам необходимо воспользоваться SDK.
Ссылку указывали ранее  - Примеры разработки приложений в ГИС "Панорама" 12  [URL=http://gisinfo.ru/download?id=229]http://gisinfo.ru/download?id=229[/URL]
TMapView
 
Добрый день!
В readme.txt есть информация о том, как собрать приложение в режиме Free:
[QUOTE]Для того, чтобы приложения, которые вы разработаете, не требовали наличие
лицензии (электронного ключа) на использование ГИС-ядра (режим Free), необходимо
на любой форме один раз разместить компонент TMapView или TMapScreen. Допускается
создание этих компонент программно (до первого обращения к карте). В случае
использования ГИС-ядра (набора библиотек dll) путем вызова функций MAPAPI напрямую
все равно необходимо создать хотя бы один экземпляр TMapView или TMapScreen.
[/QUOTE]
Версия  Free разработана для среды разработки Embarcadero Delphi\Builder. Поэтому Вам необходимо в этой среде создать проект dll, в котором разместить компонент TMapView или TMapScreen, в котором открыть данные, т.е. получить HMAP. Далее передать его в Ваше приложение для работы с картографическими данными.
Список объектов карты, Как получить список объектов карты
 
Сергей Викторович, отключение/включение слоев Вам не даст того, что Вы хотите решить.
Например, [CODE]If mvMap.ViewSelect.Excode[10000045,OL_SQUARE] = true then
[/CODE]Это проверка включен ли в Select объект или нет.

Как мы с Вами уже по телефону разговаривали, необходимо проверить поиском есть ли объект на карте или нет. Из классификатора Вы можете получить перечень его объектов и каким слою принадлежит объект.
Список объектов карты, Как получить список объектов карты
 
Сергей Викторович, объекты и слои "связаны" в классификаторе карты.
Насчет того, что объекты видны, Вы можете прислать пример Вашего приложения?
Список объектов карты, Как получить список объектов карты
 
Сергей Викторович, здравствуйте.
Через компонент MapFind, указав в MapSelect выборку всех слоев и локализаций, т.е. всех объектов карты.
Не работает функция GetShotWayAndCreateObject
 
Вполне нормальный подход.
Если Вам достаточно получить метрику маршрута, то используйте функцию GetShotWayByPointAndCreateObject, в объекте, который передаете в качестве параметра будет записана метрика всего маршрута.
[CODE] MapObj3.CreateObjectByKey(1,KM_IDDOUBLE2 ,'L10.04');

              Count := ObjNet.GetShotWayByPointAndCreateObject(MapObj3.ObjHandle, ip1, ip2);

              MapObj3.CommitObjectAsNew;
[/CODE]
Не работает функция GetShotWayAndCreateObject
 
Добрый день, Александр.
Внутри функции GIS ToolKit вызывается API функция ГИС-ядра:[CODE]// Определение кратчайшего расстояния между двумя узлами сети без вызова диалогов
// hmap - идентификатор открытой векторной карты
// hgraph - идентификатор графа сети, предварительно должен быть открыт функцией
// onOpenGraph(...)
// pointbegin - начальный узел(идентификатор объекта карты в памяти)
// pointend - конечный узел(идентификатор объекта карты в памяти)
// methodseek - метод построения (0 - длина, 1- время)
// speed - средняя скорость (км/ч)(если methodseek = 1 и значения семантики
// "Скорость" не установлены)
// На пользовательской картe будут выделены ребра,которые составляют минимальный маршрут
// Число выделенных объектов определяется функцией mapTotalSeekObjectCount(seekapi.h)
// Получить идентификатор выделенного объекта можно используя функцию mapTotalSeekObject(seekapi.h)
// Возвращает: номер объекта (mapObjectKey), если объект маршрут создавался
//            - 1, если объект маршрут не создавался
//              0, при ошибке

_NETIMP long int WINAPI onSeekPathGraph(HMAP hmap, HGRAPH hgraph, TASKPARMEX *parm,
                               HOBJ infobegin, HOBJ infoend,
                               long int methodseek, double speed);
[/CODE]
Объекты маршрута можно получить используя функции:
Число выделенных объектов определяется функцией mapTotalSeekObjectCount(seekapi.h)
Получить идентификатор выделенного объекта можно используя функцию mapTotalSeekObject(seekapi.h)
Не работает функция GetShotWayAndCreateObject
 
[QUOTE]т.е. я хотел сказать необходимо отобразить маршрут как отдельный объект[/QUOTE]
Вы про результаты какой функции сейчас интересуетесь?
Не работает функция GetShotWayAndCreateObject
 
Здравствуйте, Александр.
Посмотрел еще на Ваш код.
В функцию GetShotWayByPointAndCreateObject передаёте координаты, которые выбрали в окне карты, но не как не узлов графа.
Необходимо сделать следующее.
После того, как Вы нашли ближайший узел MapNet1.GetNodeByPoint(u, ref tdp1);, Необходимо из объекта u забрать его метрику (координату точки).
Это необходимо сделать для обоих точек.
Полученную координату уже и передавать в функцию определения маршрута.
При успешном посторении маршрута функция возвращает результат равный -1.

После успешного построения маршрута с помощью функции GetFastWay, он должен подсвечиваться автоматически цветом установленном в SelectColor.
Не работает функция GetShotWayAndCreateObject
 
В переменную info необходимо передать hobj. Выделение аналогично тому, как подсвечивали ближайшую точку.
Пример:
[CODE] MapObj2.St yle = TxObjectStyle.OS_NORMAL;
      MapNet1.GetShotWayByPointAndCreateObject(MapObj2.ObjHandle, ref tdp1, ref tdp2);
      MapObj2.St yle = TxObjectStyle.OS_SELECT;
      MapObj2.Center;
[/CODE]Сохранить метрику можно перебрав метрику объекта смотрите методы класса Metric - MapObj2.Metric.Points

Сообщение в диалоге проверим.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 25 След.



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

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