Skip to content

LngLatBounds

Defined in: src/geo/lng_lat_bounds.ts:42

A LngLatBounds object represents a geographical bounding box, defined by its southwest and northeast points in longitude and latitude.

If no arguments are provided to the constructor, a null bounding box is created.

Note that any Mapbox GL method that accepts a LngLatBounds object as an argument or option can also accept an Array of two LngLatLike constructs and will perform an implicit conversion. This flexible type is documented as LngLatBoundsLike.

Example

let sw = new LngLat(-73.9876, 40.7661);
let ne = new LngLat(-73.9397, 40.8002);
let llb = new LngLatBounds(sw, ne);

Constructors

Constructor

new LngLatBounds(sw?: [number, number, number, number] | LngLatLike | [LngLatLike, LngLatLike], ne?: LngLatLike): LngLatBounds

Defined in: src/geo/lng_lat_bounds.ts:66

Parameters

Parameter Type Description
sw? [number, number, number, number] | LngLatLike | [LngLatLike, LngLatLike] The southwest corner of the bounding box. OR array of 4 numbers in the order of west, south, east, north OR array of 2 LngLatLike: [sw,ne]
ne? LngLatLike The northeast corner of the bounding box.

Returns

LngLatBounds

Example

let sw = new LngLat(-73.9876, 40.7661);
let ne = new LngLat(-73.9397, 40.8002);
let llb = new LngLatBounds(sw, ne);
OR
let llb = new LngLatBounds([-73.9876, 40.7661, -73.9397, 40.8002]);
OR
let llb = new LngLatBounds([sw, ne]);

Methods

adjustAntiMeridian()

adjustAntiMeridian(): LngLatBounds

Defined in: src/geo/lng_lat_bounds.ts:391

Adjusts the given bounds to handle the case where the bounds cross the 180th meridian (antimeridian).

Returns

LngLatBounds

The adjusted LngLatBounds

Example

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

Defined in: src/geo/lng_lat_bounds.ts:278

Check if the point is within the bounding box.

Parameters

Parameter Type Description
lnglat LngLatLike geographic point to check against.

Returns

boolean

true if the point is within the bounding box.

Example

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

Defined in: src/geo/lng_lat_bounds.ts:106

Extend the bounds to include a given LngLatLike or LngLatBoundsLike.

Parameters

Parameter Type Description
obj LngLatLike | LngLatBoundsLike object to extend to

Returns

this


getCenter()

getCenter(): LngLat

Defined in: src/geo/lng_lat_bounds.ts:162

Returns the geographical coordinate equidistant from the bounding box's corners.

Returns

LngLat

The bounding box's center.

Example

let llb = new LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002]);
llb.getCenter(); // = LngLat {lng: -73.96365, lat: 40.78315}

getEast()

getEast(): number

Defined in: src/geo/lng_lat_bounds.ts:213

Returns the east edge of the bounding box.

Returns

number

The east edge of the bounding box.


getNorth()

getNorth(): number

Defined in: src/geo/lng_lat_bounds.ts:220

Returns the north edge of the bounding box.

Returns

number

The north edge of the bounding box.


getNorthEast()

getNorthEast(): LngLat

Defined in: src/geo/lng_lat_bounds.ts:178

Returns the northeast corner of the bounding box.

Returns

LngLat

The northeast corner of the bounding box.


getNorthWest()

getNorthWest(): LngLat

Defined in: src/geo/lng_lat_bounds.ts:185

Returns the northwest corner of the bounding box.

Returns

LngLat

The northwest corner of the bounding box.


getSouth()

getSouth(): number

Defined in: src/geo/lng_lat_bounds.ts:206

Returns the south edge of the bounding box.

Returns

number

The south edge of the bounding box.


getSouthEast()

getSouthEast(): LngLat

Defined in: src/geo/lng_lat_bounds.ts:192

Returns the southeast corner of the bounding box.

Returns

LngLat

The southeast corner of the bounding box.


getSouthWest()

getSouthWest(): LngLat

Defined in: src/geo/lng_lat_bounds.ts:171

Returns the southwest corner of the bounding box.

Returns

LngLat

The southwest corner of the bounding box.


getWest()

getWest(): number

Defined in: src/geo/lng_lat_bounds.ts:199

Returns the west edge of the bounding box.

Returns

number

The west edge of the bounding box.


intersects()

intersects(other: LngLatBoundsLike): boolean

Defined in: src/geo/lng_lat_bounds.ts:296

Checks if this bounding box intersects with another bounding box.

This method properly handles cases where either or both bounding boxes cross the antimeridian (date line).

Parameters

Parameter Type
other LngLatBoundsLike

Returns

boolean


isEmpty()

isEmpty(): boolean

Defined in: src/geo/lng_lat_bounds.ts:257

Check if the bounding box is an empty/null-type box.

Returns

boolean

True if bounds have been defined, otherwise false.


setNorthEast()

setNorthEast(ne: LngLatLike): this

Defined in: src/geo/lng_lat_bounds.ts:86

Set the northeast corner of the bounding box

Parameters

Parameter Type Description
ne LngLatLike a LngLatLike object describing the northeast corner of the bounding box.

Returns

this


setSouthWest()

setSouthWest(sw: LngLatLike): this

Defined in: src/geo/lng_lat_bounds.ts:96

Set the southwest corner of the bounding box

Parameters

Parameter Type Description
sw LngLatLike a LngLatLike object describing the southwest corner of the bounding box.

Returns

this


toArray()

toArray(): [number, number][]

Defined in: src/geo/lng_lat_bounds.ts:233

Returns the bounding box represented as an array.

Returns

[number, number][]

The bounding box represented as an array, consisting of the southwest and northeast coordinates of the bounding represented as arrays of numbers.

Example

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

Defined in: src/geo/lng_lat_bounds.ts:248

Return the bounding box represented as a string.

Returns

string

The bounding box represents as a string of the format 'LngLatBounds(LngLat(lng, lat), LngLat(lng, lat))'.

Example

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()

static convert(input: LngLatBoundsLike): LngLatBounds

Defined in: src/geo/lng_lat_bounds.ts:353

Converts an array to a LngLatBounds object.

If a LngLatBounds object is passed in, the function returns it unchanged.

Internally, the function calls LngLat.convert to convert arrays to LngLat values.

Parameters

Parameter Type Description
input LngLatBoundsLike An array of two coordinates to convert, or a LngLatBounds object to return.

Returns

LngLatBounds

A new LngLatBounds object, if a conversion occurred, or the original LngLatBounds object.

Example

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()

static fromLngLat(center: LngLat, radius: number): LngLatBounds

Defined in: src/geo/lng_lat_bounds.ts:371

Returns a LngLatBounds from the coordinates extended by a given radius. The returned LngLatBounds completely contains the radius.

Parameters

Parameter Type Default value Description
center LngLat undefined center coordinates of the new bounds.
radius number 0 Distance in meters from the coordinates to extend the bounds.

Returns

LngLatBounds

A new LngLatBounds object representing the coordinates extended by the radius.

Example

let center = new LngLat(-73.9749, 40.7736);
LngLatBounds.fromLngLat(100).toArray(); // = [[-73.97501862141328, 40.77351016847229], [-73.97478137858673, 40.77368983152771]]