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

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

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 25 След.
Экспорт в dxf (расположение подписей)
 
Добрый день! Проверено на версии, размещенной у нас на сайте для скачивания. Экспорт подписей выполняется корректно после исправления метрики.
После открытия карты из sxf масштаб в паспорте был установлен в 1 : 500.
Не работает функция GetShotWayAndCreateObject
 
[QUOTE]int r = MapObj.CreateObjectByExcode(1, (int)TxMetricType.IDFLOAT2, 10911, (int)TxObjectLocal.OL_LINE); // не знаю правильно это или нет??[/QUOTE]
Если r <> 0, то правильно.

Переменную r передаете в GetShotWayByPointAndCreateObject ? и всё равно возвращается 0?

По скриншотам не понятно, что проверялось, с чем сравнивалось.
Не работает функция GetShotWayAndCreateObject
 
После вызова GetNodeByPoint в переменных tdp1 и tdp2 действительно координаты найденных узлов?
Рекомендую использовать отдельные MapObj (ObjHandle) для поиска ближайших точек и самого маршрута.
После GetShotWayByPointAndCreateObject проверьте, что у Вас в MapObj в части метрики.
Не работает функция GetShotWayAndCreateObject
 
На скрине видно, что  у Вас t=0, т.е. графа дорог в памяти нет.
Как Вы открываете карту с графом дорог?
Пример:
[CODE] dlgOpenMap.Filter := 'Файл карты с сетью *.sit|*.sit|Все файлы *.*|*.*';
   if dlgOpenMap.Execute then
     if mvMap.MapSites.Append(dlgOpenMap.FileName)>0 then
       begin
         ObjNet.NetSitName := dlgOpenMap.FileName;
         mvMap.Repaint;
       end;

   if ObjNet.OpenGraph( mvMap.MapHandle, ObjNet.NetSitHandle) = 0
     then begin
       ShowMessage('Ошибка открытия');
       exit;
     end;

   FGraph := ObjNet.GraphHandle;
[/CODE]
Не работает функция GetShotWayAndCreateObject
 
В последнем примере кода Вы судя по всему берете координаты курсора из окна MapView. Их нужно корректно преобразовать в метры.
Пример кода поиска ближайшей точки:[CODE] pointXY.X := mvMap.MapLeft + X;
      pointXY.Y := mvMap.MapTop + Y;
      mvMap.ConvertMetric(pointXY.X, pointXY.Y, PP_PICTURE, PP_PLANE);
      MapObj1.Style:=OS_NORMAL;
      ObjNet.GetNodeByPoint(MapObj1.ObjHandle, pointXY);
      MapObj1.Style:=OS_SELECT;
      MapObj1.Center;[/CODE]
Здесь X и Y координаты в пикселях в окне MapView -  Ваши e.x и e.y.

Граф достаточно открыть один раз, а не каждый раз при поиске.
Проверьте, что у Вас возвращает ObjNet.GraphHandle после открытия.
Не работает функция GetShotWayAndCreateObject
 
Кроме результата функции GetShotWayByPointAndCreateObject, результатов других функций не видно.  GetShotWayByPointAndCreateObject возвращает 0, что говорит о том, что  кратчайший путь не найден.
Есть ли у Вас открытый граф дорог?
Не работает функция GetShotWayAndCreateObject
 
Проверьте результаты, которые возвращают вызываемые Вами функции, тогда будет понятно определяются ли ближайшие точки сети, строится ли маршрут.
Способ отображения  объекта устанавливается свойством  mapobj.style.


GTK Active: Получение всех объектов чертежа по слоям
 
На сколько понимаю, речь идет о графических объектах.

// Установить признак отбора графических объектов по обобщенным условиям поиска
// hselect - условия поиска/отображения
// flag = 0 - отбор по "общему" фильтру,
//        1 - отобрать только графические объекты,
//        2 - не отбирать графические объекты.

_MAPIMP void _MAPAPI mapSetDrawObjectsFlag(HSELECT hselect, long int flag);
GTK Active: Получение всех объектов чертежа по слоям
 
Добрый день.
Это и есть самый простой способ перебора. Чтобы перебрать все объекты карты, не устанавливайте никакие параметры фильтрации.
Выделение одного объекта на карте C#
 
Александр, здравствуйте.

Рекомендую Вам сначала сделать простой пример, в котором разобраться с выбором объекта в точке на карте. Без каких-либо дополнительных действий и дополнительно логики.[QUOTE]А координаты я получаю в таком формате: X=7212183.35 - Y=3877834.48[/QUOTE]
Вам необходимо разобраться с координатами точки поиска объекта на карте.
Когда Вы устанавливаете
MapFind.PlaceInp = TxPPLACE.PP_PICTURE;

то в MapFind.X и MapFind.Y  должны передаваться координаты в пикселях.


По созданию объекта.

Откуда этот метод - MapSelectObjectRsc.Show();  ? Диалог выбора объекта из классификатора вызывается методом ExecuteForMapObj.


Зачем делать Insert, если просто добавляется точка метки. Кроме этого добавляется одна и таже координата.
[QUOTE] MapObj.Metric.Append(0, MapPoint.C_CONTAINER);
           MapObj.Metric.Insert(0, 1, MapPoint.C_CONTAINER);[/QUOTE]
Это точечный объект? Если да, то не надо этого делать.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 25 След.



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

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