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

Не видны узлы объектов

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Не видны узлы объектов, Не видны узлы объектов
 
Установили способ отображение объектов на карте с узлами.


При масштабировании карты их не видно.
Как изменить размер узлов.

Попробовал изменить их в файле mapedmet.pas
//Процедура отображения объекта
//==========================================================­=======
procedure TMapEditMetric.IndRect;
var
 dp1     : TDOUBLEPOINT;
 mapwin1 : TMapViewWindow;
begin
 // узнаем куда идет отображение
 mapwin1 := TMapViewWindow(GetMapViewWindow);
 if (mapwin1 = nil)// or (FMapView = nil)
    then exit;
 // определим координаты верх. лев. угла окна
//  dp1.X := mapwin1.HorzScrollBar.Position; 11/11/2005
//  dp1.Y := mapwin1.VertScrollBar.Position;
 dp1.X := mapwin1.MapLeft;
 dp1.Y := mapwin1.MapTop;
 mapwin1.ConvertMetric(dp1.X, dp1.Y, PP_PICTURE, PP_PLANE);

 // Отобразить объект на карте
 mapViewMapObject(mapwin1.MapHandle, mapwin1.Handle, dp1, FImageParm, FObjTemp, cPP_PLANE);

 // Надо дорисовать узлы?
 if FShowNodes
   then begin
     FNodeCircle.Radius := 100000;
     FNodeCircle.Color  := RGB(10,10,10);
     mapViewMapObject(mapwin1.MapHandle, mapwin1.Handle, dp1, FNodeParm, FObjTemp, cPP_PLANE);
     FNodeCircle.Radius := 100000;
     FNodeCircle.Color  := RGB(10,10,10);
     mapViewMapObject(mapwin1.MapHandle, mapwin1.Handle, dp1, FNodeParm, FObjTemp, cPP_PLANE);
   end;
end;
Перекомпилировал программу,
ничего не изменилось.
Как можно изменить размер узлов,
для редактирования объектов?
 
В приведенном коде нет никаких изменений. Дважды повторяется одно и тоже действие.
Чтобы посоветовать, подскажите в какой версии работаете?
 
Да, два раза повторяется одно и то же действие,
но этот код не мой, а взят из вашего файла mapedmet.pas.

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

Вы обещали год назад, что узлы в GTK будут отображаться как в ГИС Панорама, т.е. крупно,
но до настоящего времени функция

mapSetNodeView(form_main.mvMap.MapHandle,1);

так и отображает узлы маленьким квадратиком, который не виден,
при масштабировании карты или если объект выбран линией по контру.
Работаю в GTK 12 не free на DelphiXE5

Могу ли я сам сделать изменения например в файле
mapedmet.pas

чтобы узлы были покрупнее на карте?
Изменено: Сергей Викторович - 23.08.2019 16:22:33
 
Вы можете менять текст как считаете нужным на свое усмотрение.

В текущей версии GTK текст функции выглядит так:
//==========================================================­=======
//Процедура отображения объекта
//==========================================================­=======
procedure TMapEditMetric.IndRect;
var
 dp1     : TDOUBLEPOINT;
 mapwin1 : TMapViewWindow;
begin
 // узнаем куда идет отображение
 mapwin1 := TMapViewWindow(GetMapViewWindow);
 if (mapwin1 = nil)// or (FMapView = nil)
    then exit;
 // определим координаты верх. лев. угла окна
//  dp1.X := mapwin1.HorzScrollBar.Position; 11/11/2005
//  dp1.Y := mapwin1.VertScrollBar.Position;
 dp1.X := mapwin1.MapLeft;
 dp1.Y := mapwin1.MapTop;
 mapwin1.ConvertMetric(dp1.X, dp1.Y, PP_PICTURE, PP_PLANE);

 // Отобразить объект на карте
 mapViewMapObject(mapwin1.MapHandle, mapwin1.Handle, dp1, FImageParm, FObjTemp, cPP_PLANE);

 // Надо дорисовать узлы?
 if FShowNodes
   then begin
     FNodeCircle.Radius := 1000;
     FNodeCircle.Color  := RGB(0,0,0);
     mapViewMapObject(mapwin1.MapHandle, mapwin1.Handle, dp1, FNodeParm, FObjTemp, cPP_PLANE);
     FNodeCircle.Radius := 800;
     FNodeCircle.Color  := RGB(255,255,255);
     mapViewMapObject(mapwin1.MapHandle, mapwin1.Handle, dp1, FNodeParm, FObjTemp, cPP_PLANE);
   end;
end;
//==========================================================­=======
//End of IndRect
//==========================================================­=======

Это расходится с вашим вариантом.
 
Предлагаю эту тему закрыть.
Я был не прав по поводу узлов. Вроде они отображаются также, как в Панораме.
Нужно мне было правильно установить свойства в компоненте для решения нашего вопроса.
Спасибо.

P.S.
Мы уберем из прикладной программы Нормальная с узлами,
т.к. проблема наша решается другим способом.
Вместе с тем рекомендовал бы еще потестировать
эту функцию, т.к. были случаи не правильного перевывода карты,
смазанность и т.п. .
Страницы: 1
Читают тему (гостей: 1)



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

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