4. География и геометрия
LngLat
Объект LngLat состоит из долготы и широты (в градусах). Эти координаты основаны на стандарте WGS84 (EPSG:4326). MMR GL использует порядок координат долготы и широты (в отличие от широты и долготы) в соответствии со спецификацией GeoJSON. Обратите внимание, что любой метод MMR GL, принимающий объект LngLat в качестве аргумента или опции, также может принимать массив из двух чисел и выполнять неявное преобразование. Этот гибкий тип документирован как LngLatLike.
src/geo/lng_lat.js
Параметры
lng:number — долгота в градусах
lat:number — широта в градусах
var ll = new mmrgl.LngLat(-123.9749, 40.7736); ll.lng; // = -123.9749 |
static Методы
Название
|
Описание
| |
---|---|---|
convert(input) |
Преобразует массив из двух чисел или объект со свойствами lng и lat или lon и lat в объект LngLat. Если передается объект LngLat, функция возвращает его без изменений. Параметры: Пример:
|
instance Методы
Название
|
Описание
| |
---|---|---|
distanceTo(lngLat) |
Возвращает приблизительное расстояние между парой координат в метрах, используя формулу Хаверсина (из R. W. Sinnott, «Добродетели Хаверсина», Sky and Telescope, vol. 68, no. 2, 1984, p. 159) Параметры: Пример:
|
|
toArray() |
Возвращает координаты, представленные в виде массива из двух чисел. Пример:
|
|
toBounds(radius) |
Возвращает LngLatBounds из координат, расширенных на заданный радиус. Возвращаемый LngLatBounds полностью содержит радиус. Параметры: Пример:
|
|
toString() |
Возвращает координаты, представленные в виде строки. Пример:
|
|
wrap() |
Возвращает новый объект LngLat, долгота которого обернута в диапазон (-180, 180). Пример:
|
LngLatLike
LngLat может быть массивом из двух чисел (долгота и широта), или объектом со свойствами lng и lat или lon и lat.
src/geo/lng_lat.js
var v1 = new mmrgl.LngLat(-122.420679, 37.772537); var v2 = [-122.420679, 37.772537]; var v3 = {lon: -122.420679, lat: 37.772537}; |
LngLatBounds
Объект LngLatBounds представляет собой границу, определяемую ее юго-западной и северо-восточной точками в долготе и широте.
Если аргументы не предоставлены, создается граница со значением null.
Любой метод MMR GL, принимающий объект LngLatBounds в качестве аргумента или опции, также может принимать массив из двух LngLatLike конструкций и выполнять неявное преобразование. Этот гибкий тип задокументирован как LngLatBoundsLike.
src/geo/lng_lat_bounds.js
Параметры
sw:number — долгота в градусах
ne:number — широта в градусах
static Методы
Название
|
Описание
| |
---|---|---|
convert(input) |
Преобразует массив в объект LngLatBounds. Если передается объект LngLatBounds, функция возвращает его без изменений. Внутренне функция вызывает LngLat#convert для преобразования массивов в значения LngLat. Параметры: Пример:
|
instance Методы
Название
|
Описание
| |
---|---|---|
contains(lnglat) |
Проверьте, находится ли точка внутри ограничивающего прямоугольника. Параметры: Пример:
|
|
extend(obj) |
Расширьте границы, чтобы включить данный LngLatLike или LngLatBounds Параметры: |
|
getCenter() |
Возвращает географическую координату, равноудаленную от углов ограничивающего прямоугольника. Пример:
|
|
getEast() | Возвращает восточный край ограничивающего прямоугольника. | |
getNorth() | Возвращает северный край ограничивающего прямоугольника. | |
getNorthEast() | Возвращает северо-восточный угол ограничивающего прямоугольника. | |
getNorthWest() | Возвращает северо-западный угол ограничивающего прямоугольника. | |
getSouth() | Возвращает южный край ограничивающего прямоугольника. | |
getSouthEast() | Возвращает юго-восточный угол ограничивающего прямоугольника. | |
getSouthWest() | Возвращает юго-западный угол ограничивающего прямоугольника. | |
getWest() | Возвращает западный край ограничивающего прямоугольника. | |
isEmpty() | Проверьте, является ли ограничивающая рамка пустой/нулевой. | |
setNorthEast(ne) |
Установите северо-восточный угол ограничивающего прямоугольника. Параметры: |
|
setSouthWest(sw) |
Установите юго-западный угол ограничительной рамки Параметры: |
|
toArray() |
Возвращает ограничивающую рамку, представленную в виде массива. Пример:
|
|
toString() |
Возвращает ограничивающую рамку, представленную в виде строки. Пример:
|
var sw = new mmrgl.LngLat(-73.9876, 40.7661); var ne = new mmrgl.LngLat(-73.9397, 40.8002); var llb = new mmrgl.LngLatBounds(sw, ne); |
LngLatBoundsLike
Объект LngLatBounds является массивом из LngLatLike объектов в порядке [sw, ne] или массив чисел в порядке [west, south, east, north].
src/geo/lng_lat_bounds.js
var v1 = new mmrgl.LngLatBounds( new mmrgl.LngLat(-73.9876, 40.7661), new mmrgl.LngLat(-73.9397, 40.8002) ); var v2 = new mmrgl.LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002]) var v3 = [[-73.9876, 40.7661], [-73.9397, 40.8002]]; |
Point
Объект Point состоит из x и y, указывает расположение точки на карте
src/ui/map.js
var point = new mmrgl.Point(-77, 38); |
PointLike
Объект Point или массив из двух чисел, представляющих координаты экрана x и y в пикселях.
src/ui/map.js
var p1 = new mmrgl.Point(-77, 38); // a PointLike which is a Point var p2 = [-77, 38]; // a PointLike which is an array of two numbers |
MercatorCoordinate
MercatorCoordinate объект представляет собой трехмерное положение.
MercatorCoordinate использует веб-проекцию меркатора (EPSG:3857) с немного другими единицами измерения:
- размер 1 единицы измерения — это ширина проецируемого мира (вместо "метра меркатора").
- начало координат пространства находится в северо-западном углу, а не в середине.
Пример:
MercatorCoordinate(0, 0, 0) — это северо-западный угол мира меркатора, а MercatorCoordinate(1, 1, 0) - юго-восточный угол. Если вы знакомы с векторными тайлами, может быть полезно представить координатное пространство как тайл 0/0/0 с величиной/масштабом 1.
Z-размерность MercatorCoordinate является конформной. Куб в координатном пространстве меркатора будет отображаться как куб.
src/geo/mercator_coordinate.js
Параметры
x:number — позиция X
y:number — позиция Y
z:number — позиция Z
static Методы
Название
|
Описание
| |
---|---|---|
fromLngLat(lngLatLike, altitude) |
Спроецируйте LngLat на MercatorCoordinate. Параметры: Пример:
|
instance Методы
Название
|
Описание
| |
---|---|---|
meterInMercatorCoordinateUnits() |
Возвращает расстояние в 1 метр в MercatorCoordinate единицах на данной широте. Для координат в реальных единицах измерения, использующих метры, это, естественно, обеспечивает масштаб для преобразования в MercatorCoordinate |
|
toAltitude() |
Возвращает высоту в метрах от координаты. Пример:
|
|
toLngLat() |
Возвращает LngLat для координаты. Пример:
|
var nullIsland = new mmrgl.MercatorCoordinate(0.5, 0.5, 0); |
EdgeInsets
Объект EdgeInset представляет собой заполнение экрана, примененное к краям вьюпорта (viewport). Это смещает видимый центр или точку схода карты. Это полезно для добавления плавающих элементов пользовательского интерфейса поверх карты и смещения точки схода при изменении размера элементов пользовательского интерфейса.
src/geo/edge_insets.js
Параметры
top:number — по умолчанию 0
bottom:number — по умолчанию 0
left:number — по умолчанию 0
right:number — по умолчанию 0
static Методы
Название
|
Описание
|
---|---|
getCenter(width, height) |
Служебный метод, который вычисляет новый центр приложения или точку схода после применения вставок. В пикселях и с верхним левым значением (0.0) и +y вниз. Параметры: |
interpolate(start, target, t) |
Интерполирует вставку на месте. При этом сохраняется текущее значение вставки для любой вставки, отсутствующей в target. Параметры: |
toJSON() | Возвращает текущее состояние в виде json, что полезно, если вы хотите иметь представление вставки только для чтения. |