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

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

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 24 След.
Выделение одного объекта на карте C#
 
По Вашему коду не видно какие координаты точки поиска  передаете в компонет поиска - PlaceInp.
В дизайне или предварительно коде устанавливаем
MapFindObject.PlaceInp := PP_PICTURE;
MapObj.Style := OS_SELECT;

Далее на событие нажатия кнопки мыши (MouseDown) компонента MapView

 MapFindObject.Active    := false;
 MapFindObject.FindPoint := true;
 MapFindObject.X         := mvMapView.MapLeft + X;
 MapFindObject.Y         := mvMapView.MapTop + Y;
 MapFindObject.Radius    := 3;
 MapFindObject.Active    := true;

X и Y координата мышки в окне MapView (пикселы)

Это всё.
Выделение одного объекта на карте C#
 
Добрый день Вам необходимо в  MapObj установить St yle = OS_SELECT и StyleSelect = нужный Вам стиль. Подробнее смотрите в документации

MapView1.SetViewSelected - устанавливать не надо.

Рекомендую посмотреть примеры FindObj или mapwork, которые входят в состав инсталляции GIS ToolKit.
Почему не отменяется выбор объекта, mapSeekSelectObject
 
Вам необходимо правильно сбрасывать и устанавливать  MapObj.Style.
Как отключить выбор отключенных объектов, Как отключить выбор отключенных объектов
 
Здравствуйте, Сергей Викторович!
Выслал Вам пример.
Немного подправил Ваш код: вынес установку параметров поиска из даблклика, т.к. при каждом клике устанавливаются новые параметры поиска.
Определение точки нажатия и тип метрики нужно привести в порядок. И не забудьте освобождать выделенную память.
Как отключить выбор отключенных объектов, Как отключить выбор отключенных объектов
 
Пришлите, пожалуйста, пример и карту.
Как отключить выбор отключенных объектов, Как отключить выбор отключенных объектов
 
[CODE] // Удалить описание объекта векторной карты из памяти
 // info - идентификатор объекта карты в памяти
 // Для сохранения объекта на карте необходимо
 // до вызова mapFreeObject(...) выполнить функцию
 // mapCommitObject(...)
 // При ошибке возвращает ноль

procedure mapFreeObject(Obj : HObj);
{$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF}
external sGisAcces;
[/CODE]
Как отключить выбор отключенных объектов, Как отключить выбор отключенных объектов
 
да, для перехода к следующему объекту необходимо параметр flag функции mapWhatObjectBySelect установить  = 4
Как отключить выбор отключенных объектов, Как отключить выбор отключенных объектов
 
Отрисовать объект можно следующей функцией
[CODE] // Отобразить существующий объект карты в пределах фрагмента окна (карты) // 26/03/09
// в условных знаках пользователя
// hmap   - идентификатор открытых данных
// hwnd  - идентификатор окна;
// point - координаты верхнего левого угла окна на карте
// в соответствующей параметру place системе координат
// image - описание вида объекта (см. MAPGDI.H); если объект
// должен рисоваться своим условным знаком - значение параметра
// можно установить в ноль;
// info - идентификатор объекта карты в памяти
// При ошибке в параметрах возвращает ноль

function mapViewMapObject(Map:HMap;WND:HWND;var point:TDOUBLEPOINT;
                         var image:TPAINTPARM;Obj:HObj;place:integer=cPP_MAP):integer; // 23/09/2009 // 30/09/2009
 {$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF};
 external sGisAcces;
[/CODE]
Думаю, что проще будет "кинуть" на форму TMapObj и в него записывать результат поиска, а уже для самого компонента установить тот тип выделения, который Вам больше подходит. Посмотрите пример из GTK - MapWork
Как отключить выбор отключенных объектов, Как отключить выбор отключенных объектов
 

Можете для отображения информации об объекте использовать следующую функцию

[CODE] // Вызов диалога выбора только для заданного через переменную
// object объекта
// Окно отображения объекта не может при входе содержать общие
// сведения и семантику объекта
// Если объект выбран - возвращается ненулевое значение
// Если объект не выбран (нет в данной точке или пользователь
// нажал "Cancel") - возвращается ноль

function formSelectAssignObject(Obj : HObj;  var ObjForm : TOBJECTFORM;
  var Parm : TTASKPARM) : integer;
{$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF};
external sGisForms;[/CODE]
Как отключить выбор отключенных объектов, Как отключить выбор отключенных объектов
 
Сергей Викторович, в продолжение телефонного разговора.

place:[CODE] // ПРИМЕНЯЕМАЯ СИСТЕМА КООРДИНАТ при обращении к функциям MapApi

 cPP_MAP     = 1;   // КООРДИНАТЫ ТОЧЕК В СИСТЕМЕ КАРТЫ В ДИСКРЕТАХ
 cPP_PICTURE = 2;   // КООРДИНАТЫ ТОЧЕК В СИСТЕМЕ ИЗОБРАЖЕНИЯ В ПИКСЕЛАХ
 cPP_PLANE   = 3;   // КООРДИНАТЫ ТОЧЕК В ПЛОСКОЙ ПРЯМОУГОЛЬНОЙ СИСТЕМЕ
                    // НА МЕСТНОСТИ В МЕТРАХ
 cPP_GEO     = 4;   // КООРДИНАТЫ ТОЧЕК В ГЕОДЕЗИЧЕСКИХ КООРДИНАТАХ
 cPP_GEOWGS84 = 8;    // КООРДИНАТЫ ТОЧЕК В ГЕОДЕЗИЧЕСКИХ КООРДИНАТАХ
                      // В РАДИАНАХ В СИСТЕМЕ WGS-84
[/CODE]
Пример получения получения области
[CODE]var
FFrame:TMAPDFRAME;
.....
     FFrame.X1:=FMapPoint.FX-FRadius;
     FFrame.X2:=FMapPoint.FX+FRadius;
     FFrame.Y1:=FMapPoint.FY-FRadius;
     FFrame.Y2:=FMapPoint.FY+FRadius;
[/CODE]
Изменено: Роман Твердов - 06.05.2019 09:49:10
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 24 След.



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

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