TMappl.GetLayerObjectsInMapPoint

Модуль: Mappl
Класс: TMappl

Найти объекты слоя в точке с картографическими координатами

Объявление

function GetLayerObjectsInMapPoint(lCode: integer; X,Y: Double;
	 aObjects: TLayerObjectIdentificationList; SearchRadius: Double;
	 aSearchMode: TSearchInPointMode = ofmpDefault;
	 flBlinkFindObjects: boolean = false; flExludeHoles: boolean = true;
	 aSourcePointTypeCoords: TCoordType = ctReal; sFilter: string='';
	 ResultSearchObjectProc: TMapSearchObjectEvent = nil;
	 flApplyInternalFilter: boolean = true; aFieldList: TStrings = nil;
	 flSortByDistance: boolean = false;
	 aMapplSearchMode: TMapObjectSearchMode = smoUndefined): integer;

Параметры

lCode
код слоя
X
координата точки по горизонтали (в единицах карты)
Y
координата точки по вертикали (в единицах карты)
aObjects
адрес список структур хранения параметров, идентифицирующих найденные объекты слоя
SearchRadius
радиус поиска в единицах карты
aSearchMode
режим поиска объектов
flBlinkFindObjects
флаг подсветки найденных объектов
flExludeHoles
флаг исключения "дырок" для сложных объектов (если false, то объект будет найден даже в том случае,
aSourcePointTypeCoords
вид представления координат исходной точки (по умолчанию - ctReal (единицы карты),
sFilter
строка фильтрации объектов (часть where SQL-запроса), по умолчанию пустая строка
ResultSearchObjectProc
процедура обработки результатов поиска по каждому объекту (по умолчанию nil)
flApplyInternalFilter
флаг применения внутреннего фильтра объектов (по умолчанию true)
aFieldList
список полей слоя, по которым необходимо получить атрибутивные данные по объектам
flSortByDistance
флаг сортировки объектов по расстоянию от исходной точки (по умолчанию false)
aMapplSearchMode
режим компонента, в которых осуществляется поиск объектов карты в картографическом окне с помощью мыши (по умолчанию smoUndefined)

Возвращает

< 0 если ошибка, иначе количество найденных объектов

Описание

Параметр aObjects может быть не задан - в случае, если сущемтвует обработчик события OnResultSearchObject, то по каждому найденному объекту он будет вызываться если точка (X,Y) попадет в "дырку" сложного объекта) если ctEarthReal,ctEarthGMS, то координаты заданы в градусах и перед поиском будут пересчитаны в единицах карты (данные будут размещены в том же списке, заменив собой названия полей), по умолчанию nil

Пример

смотри пример функции GetLayerObjectsInScreenPoint

Смотри также

GetLayerObjectsInMapPoint
Найти объекты слоя в точке с картографическими координатами
GetLayerObjectsInMapPointToMosList
Найти объекты слоя в точке с картографическими координатами и загрузить их в виде структур пространственных объектов (MOS)