LngLatBounds
Объект LngLatBounds представляет собой географический ограничивающий прямоугольник, определяемый его юго-западной и северо-восточной точками по долготе и широте.
Если аргументы не переданы в конструктор, создается ограничивающий прямоугольник типа null.
Обратите внимание, что любой метод MapLibre GL, принимающий объект LngLatBounds в качестве аргумента или параметра, также может принимать Array из двух конструкций LngLatLike и выполнять неявное преобразование. Этот гибкий тип описан как LngLatBoundsLike.
Пример
let sw = new LngLat(-73.9876, 40.7661); let ne = new LngLat(-73.9397, 40.8002); let llb = new LngLatBounds(sw, ne);
См. также
Конструкторы
Конструктор
new LngLatBounds(
sw?: [number,number,number,number] |LngLatLike| [LngLatLike,LngLatLike],ne?:LngLatLike):LngLatBounds
Параметры
| Параметр | Тип | Описание |
|---|---|---|
sw? | [number, number, number, number] | LngLatLike | [LngLatLike, LngLatLike] | Юго-западный угол ограничивающего прямоугольника. ИЛИ массив из 4 чисел в порядке: запад, юг, восток, север ИЛИ массив из 2 LngLatLike: [sw, ne]
|
ne? | LngLatLike | Северо-восточный угол ограничивающего прямоугольника. |
Возвращает
LngLatBounds
Пример
let sw = new LngLat(-73.9876, 40.7661); let ne = new LngLat(-73.9397, 40.8002); let llb = new LngLatBounds(sw, ne);ИЛИ
let llb = new LngLatBounds([-73.9876, 40.7661, -73.9397, 40.8002]);ИЛИ
let llb = new LngLatBounds([sw, ne]);
Методы
adjustAntiMeridian()
adjustAntiMeridian():
LngLatBounds
Корректирует заданные границы для обработки случая, когда границы пересекают 180-й меридиан (антимеридиан).
Возвращает
LngLatBounds
Скорректированный LngLatBounds
Пример
let bounds = new LngLatBounds([175.813127, -20.157768], [-178. 340903, -15.449124]); let adjustedBounds = bounds.adjustAntiMeridian(); // adjustedBounds will be: [[175.813127, -20.157768], [181.659097, -15.449124]]
contains()
contains(
lnglat:LngLatLike):boolean
Проверяет, находится ли точка внутри ограничивающего прямоугольника.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
lnglat | LngLatLike | географическая точка для проверки. |
Возвращает
boolean
true, если точка находится внутри ограничивающего прямоугольника.
Пример
let llb = new LngLatBounds( new LngLat(-73.9876, 40.7661), new LngLat(-73.9397, 40.8002) ); let ll = new LngLat(-73.9567, 40.7789); console.log(llb.contains(ll)); // = true
extend()
extend(
obj:LngLatLike|LngLatBoundsLike):this
Расширяет границы, чтобы включить заданный LngLatLike или LngLatBoundsLike.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
obj |
LngLatLike | LngLatBoundsLike
| объект, до которого нужно расширить |
Возвращает
this
getCenter()
getCenter():
LngLat
Возвращает географическую координату, равноудаленную от углов ограничивающего прямоугольника.
Возвращает
Центр ограничивающего прямоугольника.
Пример
let llb = new LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002]);
llb.getCenter(); // = LngLat {lng: -73.96365, lat: 40.78315}
getEast()
getEast():
number
Возвращает восточную границу ограничивающего прямоугольника.
Возвращает
number
Восточная граница ограничивающего прямоугольника.
getNorth()
getNorth():
number
Возвращает северную границу ограничивающего прямоугольника.
Возвращает
number
Северная граница ограничивающего прямоугольника.
getNorthEast()
getNorthEast():
LngLat
Возвращает северо-восточный угол ограничивающего прямоугольника.
Возвращает
Северо-восточный угол ограничивающего прямоугольника.
getNorthWest()
getNorthWest():
LngLat
Возвращает северо-западный угол ограничивающего прямоугольника.
Возвращает
Северо-западный угол ограничивающего прямоугольника.
getSouth()
getsouth():
number
Возвращает южную границу ограничивающего прямоугольника.
Возвращает
number
Южная граница ограничивающего прямоугольника.
getSouthEast()
getSouthEast():
LngLat
Возвращает юго-восточный угол ограничивающего прямоугольника.
Возвращает
Юго-восточный угол ограничивающего прямоугольника.
getSouthWest()
getSouthWest():
LngLat
Возвращает юго-западный угол ограничивающего прямоугольника.
Возвращает
Юго-западный угол ограничивающего прямоугольника.
getWest()
getWest():
number
Возвращает западную границу ограничивающего прямоугольника.
Возвращает
number
Западная граница ограничивающего прямоугольника.
intersects()
intersects(
other:LngLatBoundsLike):boolean
Проверяет, пересекается ли этот ограничивающий прямоугольник с другим ограничивающим прямоугольником.
Возвращает true, если ограничивающие прямоугольники имеют общую область, включая случаи, когда они лишь соприкасаются по ребру или в углу.
Этот метод корректно обрабатывает случаи, когда один или оба ограничивающих прямоугольника пересекают антимеридиан (линию перемены дат).
Параметры
| Параметр | Тип |
|---|---|
other | LngLatBoundsLike |
Возвращает
boolean
isEmpty()
isEmpty():
boolean
Проверяет, является ли ограничивающий прямоугольник пустым / прямоугольником типа null.
Возвращает
boolean
True, если границы были определены, в противном случае false.
setNorthEast()
setNorthEast(
ne:LngLatLike):this
Задает северо-восточный угол ограничивающего прямоугольника
Параметры
| Параметр | Тип | Описание |
|---|---|---|
ne | LngLatLike | объект LngLatLike, описывающий северо-восточный угол ограничивающего прямоугольника. |
Возвращает
this
setSouthWest()
setSouthWest(
sw:LngLatLike):this
Задает юго-западный угол ограничивающего прямоугольника
Параметры
| Параметр | Тип | Описание |
|---|---|---|
sw | LngLatLike | объект LngLatLike, описывающий юго-западный угол ограничивающего прямоугольника. |
Возвращает
this
toArray()
toArray(): [[
number,number], [number,number]]
Возвращает ограничивающий прямоугольник в виде массива.
Возвращает
[[number, number], [number, number]]
Ограничивающий прямоугольник в виде массива, состоящего из юго-западных и северо-восточных координат границы, представленных в виде массивов чисел.
Пример
let llb = new LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002]); llb.toArray(); // = [[-73.9876, 40.7661], [-73.9397, 40.8002]]
toString()
toString():
string
Возвращает ограничивающий прямоугольник в виде строки.
Возвращает
string
Ограничивающий прямоугольник, представленный в виде строки формата 'LngLatBounds(LngLat(lng, lat), LngLat(lng, lat))'.
Пример
let llb = new LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002]); llb.toString(); // = "LngLatBounds(LngLat(-73.9876, 40.7661), LngLat(-73.9397, 40.8002))"
convert()
staticconvert(input:LngLatBoundsLike):LngLatBounds
Преобразует массив в объект LngLatBounds.
Если передан объект LngLatBounds, функция возвращает его без изменений.
Внутри функция вызывает LngLat.convert для преобразования массивов в значения LngLat.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
input | LngLatBoundsLike | Массив из двух координат для преобразования или объект LngLatBounds для возврата. |
Возвращает
LngLatBounds
Новый объект LngLatBounds, если произошло преобразование, или исходный объект LngLatBounds.
Пример
let arr = [[-73.9876, 40.7661], [-73.9397, 40.8002]];
let llb = LngLatBounds.convert(arr); // = LngLatBounds {_sw: LngLat {lng: -73.9876, lat: 40.7661}, _ne: LngLat {lng: -73.9397, lat: 40.8002}}
fromLngLat()
staticfromLngLat(center:LngLat,radius?:number):LngLatBounds
Возвращает LngLatBounds из координат, расширенных на заданный radius. Возвращаемый LngLatBounds полностью содержит radius.
Параметры
| Параметр | Тип | Значение по умолчанию | Описание |
|---|---|---|---|
center | LngLat | undefined | координаты центра новых границ. |
radius | number | 0 | Расстояние в метрах от координат для расширения границ. |
Возвращает
LngLatBounds
Новый объект LngLatBounds, представляющий координаты, расширенные на radius.
Пример
let center = new LngLat(-73.9749, 40.7736); LngLatBounds.fromLngLat(100).toArray(); // = [[-73.97501862141328, 40.77351016847229], [-73.97478137858673, 40.77368983152771]]
© MapLibre contributors
Licensed under the 3-Clause BSD License.
https://maplibre.org/maplibre-gl-js/docs/API/classes/LngLatBounds/