Geometry Library

Пространство имен encoding

namespace google.maps.geometry.encoding
library "geometry"

Средства для кодирования и декодирования полилиний.

const {encoding} = await google.maps.importLibrary("geometry");
decodePath
decodePath(encodedPath)
Параметры:
  • encodedPath: string
Возвращаемое значение: Array<LatLng>
Декодирует кодированную строку пути в последовательность элементов LatLng.
encodePath
encodePath(path)
Параметры:
Возвращаемое значение: string
Кодирует последовательность элементов LatLng в кодированную строку пути.

Пространство имен spherical

namespace google.maps.geometry.spherical
library "geometry"

Вспомогательные функции для расчета геодезических углов, расстояний и площадей. Радиус по умолчанию равен радиусу Земли и составляет 6 378 137 метров.

const {spherical} = await google.maps.importLibrary("geometry");
computeArea
computeArea(path[, radiusOfSphere])
Параметры:
Возвращаемое значение: number
Возвращает площадь фигуры с замкнутым контуром в диапазоне [0, 2×pi×radius²]. Единицы измерения площади соответствуют единицам измерения радиуса. По умолчанию radiusOfSphere – это радиус Земли в метрах, и в этом случае площадь указывается в квадратных метрах. Если вы передаете Circle, то для radius нужно задать неотрицательное значение. Кроме того, круг не должен покрывать более 100% сферы. При передаче LatLngBounds южная широта/долгота не может быть севернее северной широты/долготы.
computeDistanceBetween
computeDistanceBetween(from, to[, radius])
Параметры:
Возвращаемое значение: number
Возвращает расстояние в метрах между двумя точками LatLng. При желании вы можете указать собственный радиус. По умолчанию используется радиус Земли.
computeHeading
computeHeading(from, to)
Параметры:
Возвращаемое значение: number
Возвращает направление от одного объекта LatLng к другому. Направление измеряется в градусах по часовой стрелке от севера в диапазоне [-180,180).
computeLength
computeLength(path[, radius])
Параметры:
Возвращаемое значение: number
Возвращает длину указанного пути.
computeOffset
computeOffset(from, distance, heading[, radius])
Параметры:
Возвращаемое значение: LatLng
Возвращает объект LatLng, полученный в результате перемещения на определенное расстояние от начальной точки в указанном направлении (выраженном в градусах по часовой стрелке от севера).
computeOffsetOrigin
computeOffsetOrigin(to, distance, heading[, radius])
Параметры:
Возвращаемое значение: LatLng|null
Возвращает местоположение пункта отправления, если указаны пункт назначения LatLng, пройденное расстояние в метрах и исходное направление. Направление измеряется в градусах по часовой стрелке от севера. Если решение не найдено, функция возвращает null.
computeSignedArea
computeSignedArea(loop[, radius])
Параметры:
Возвращаемое значение: number
Возвращает площадь фигуры с замкнутым контуром, где положительным считается направление против часовой стрелки, в диапазоне [-2×pi×radius², 2×pi×radius²]. Вычисленная площадь использует те же единицы измерения, что и радиус. По умолчанию используется радиус Земли в метрах, и в этом случае площадь возвращается в квадратных метрах.

Площадь вычисляется с помощью метода параллельного переноса. Параллельный перенос по замкнутому контуру на единичной сфере поворачивается на угол, равный площади, ограниченной контуром. Это проще, точнее и надежнее, чем триангуляция с использованием формул Жирара, Люилье или Эрикссона для каждого треугольника. В частности, поскольку он не использует триангуляцию, он не страдает от нестабильности, за исключением неизбежного случая, когда ребро (не диагональ) многоугольника охватывает 180 градусов.
interpolate
interpolate(from, to, fraction)
Параметры:
Возвращаемое значение: LatLng
Возвращает объект LatLng, который находится на определенном отрезке между начальным и конечным объектами LatLng.
AlphatraversePath
traversePath(path, fraction)
Параметры:
Возвращаемое значение: LatLngLiteral
Возвращает позицию, которая находится на определенном отрезке заданного пути. Если передаются объекты LatLngAltitude, высота в настоящее время игнорируется, но в будущих версиях она может учитываться.

Пространство имен poly

namespace google.maps.geometry.poly
library "geometry"

Служебные функции для расчетов, связанных с многоугольниками и ломаными линиями.

const {poly} = await google.maps.importLibrary("geometry");
containsLocation
containsLocation(point, polygon)
Параметры:
Возвращаемое значение: boolean
Определяет, находится ли указанная точка внутри заданного многоугольника или круга. Если вы передаете Circle, необходимо задать center и указать для radius неотрицательное значение.
isLocationOnEdge
isLocationOnEdge(point, poly[, tolerance])
Параметры:
Возвращаемое значение: boolean
Определяет, находится ли указанная точка на ломаной линии или рядом с ней либо на границе многоугольника или рядом с ней в пределах заданной погрешности. Возвращает true, если разница между широтой и долготой заданной точки и ближайшей точки на границе меньше допустимого отклонения. Значение допуска по умолчанию составляет 10–9 градусов.