 |
www.integro.ru ЦСИ ИНТЕГРО
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Наталья Колонтай

Зарегистрирован: 01.11.2005 Сообщения: 22 Откуда: Москва
|
Добавлено: Пн 19 Мар 2007 13:24 Заголовок сообщения: QueryBySurfacePos в Delphi |
|
|
Для выбора объектов использую примерно следующий код:
var MapObjectsQuery:IIngeoMapObjectsQuery;
aLayerIDs: string;
aSurface: IIngeoPaintSurface;
begin
aSurface:=FInGeoApp.MainWindow.MapWindow.Surface;
aLayerIDs:=RLPointLayerID;
MapObjectsQuery:=FInGeoApp.ActiveDb.MapObjects.QueryBySurfacePos(aLayerIDs,aSurface,X,Y);
При передаче ID одного слоя в переменной типа string все нормально срабатывает.
Как в Delphi передать функции QueryBySurfacePos одновременно целый список слоев? |
|
Вернуться к началу |
|
 |
RuslanG

Зарегистрирован: 10.07.2005 Сообщения: 171 Откуда: ИНТЕГРО
|
Добавлено: Пн 19 Мар 2007 15:06 Заголовок сообщения: |
|
|
aLayerIDs - список идентификаторов слоев, в которых следует производить поиск. Данный параметр может содержать строку или массив строк. Ниже приведен пример реализации: Код: | function TMainForm.GetDevXY(aSurface: IIngeoPaintSurface): TPoint;
begin
aSurface.PointWorldToDevice(-3549, -8927, Result.X, Result.Y);
end;
procedure TMainForm.TestButtonClick(Sender: TObject);
var
aSurface: IIngeoPaintSurface;
aMapObjects: IIngeoMapObjects;
aLayersIDs: OleVariant;
aMapObjectsQuery: IIngeoMapObjectsQuery;
aDevXY: TPoint;
aMapObject: IIngeoMapObject;
begin
aSurface := FIngeo.MainWindow.MapWindow.Surface;
aMapObjects := FIngeo.ActiveDb.MapObjects;
aLayersIDs := VarArrayOf(['00010000042B', '006500001E92']);
aDevXY := GetDevXY(aSurface);
aMapObjectsQuery := aMapObjects.QueryBySurfacePos(aLayersIDs, aSurface, aDevXY.X, aDevXY.Y);
while not aMapObjectsQuery.EOF do begin
aMapObject := aMapObjects.GetObject(aMapObjectsQuery.ObjectID);
// Ваши действия
ShowMessage(aMapObject.ID);
aMapObjectsQuery.MoveNext;
end;
aMapObjects.UpdateChanges;
end; |
_________________ С уважением, Руслан Гадеев
Видео уроки ИнГео
Документация ИнГео
Обновления ИнГео
Интегропедия |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
|
|