TMappl.GetNearestPointOfLayer
Модуль: Mappl
Класс: TMappl
Найти ближайшую точку среди всех объектов слоя
Объявление
function GetNearestPointOfLayer(lCode: integer; aSearchRadius: double;
x,y: double; var oIndex,nSubObject,LastPointNumber: integer;
var aResultX,aResultY,aDistance: double; sFilter: string='';
aCheckVertexMode: TCheckVertexMode = cvmVertexSnap;
MOS: TMapObjectStructure = nil): integer;
Параметры
- lCode
- код слоя
aSearchRadius
- радиус поиска в единицах карты (если -1, то значение берется по умолчанию, как для поиска в точке)
x
- координата исходной точки по горизонтали
y
- координата исходной точки по вертикали
- oIndex
- уникальный индекс объекта, на котором найдена ближайшая точка (возвращаемый параметр)
nSubObject
- номер подобъекта (возвращаемый параметр)
LastPointNumber
- номер начальной узловой точки отрезка, на котором найдена ближайшая точка на полилинии (возвращаемый параметр)
aResultX
- координата ближайшей точки на полилинии по горизонтали (возвращаемый параметр)
aResultY
- координата ближайшей точки на полилинии по вертикали (возвращаемый параметр)
aDistance
- расстояние до ближайшей точки на полилинии (возвращаемый параметр)
sFilter
- строка фильтрации объектов (часть where SQL-запроса)
aCheckVertexMode
- вариант поиска узловых точек, по умолчанию cvmVertexSnap
MOS
- экземпляр класса структуры объекта, в который копируется объект карты, содержащий ближайшую точку
Возвращает
- -2
- слой не найден
- -1
- ближайшая точка не найдена
- 0
- ближайшая точка на полилинии найдена и совпадает с одной из узловых точек
- 1
- ближайшая точка на полилинии найдена и находится на отрезке между узловыми точками
Описание
Искомая точка может как совпадать с одной из узловых точек, так и находиться на отрезке между узловыми точками (номер начальной точки отрезка - LastPointNumber)
Смотри также
- GetNearestPointOfObject
- Найти ближайшую точку объекта слоя
- GetNearestPointOfLayer
- Найти ближайшую точку среди всех объектов слоя