Class LngLatBounds

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

  • Parameters

    • Optional 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]

    • Optional 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

  • Check if the point is within the bounding box.

    Parameters

    • 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 the bounds to include a given LngLatLike or LngLatBoundsLike.

    Parameters

    Returns this

  • 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}
  • Returns the east edge of the bounding box.

    Returns number

    The east edge of the bounding box.

  • Returns the north edge of the bounding box.

    Returns number

    The north edge of the bounding box.

  • Returns the northeast corner of the bounding box.

    Returns LngLat

    The northeast corner of the bounding box.

  • Returns the northwest corner of the bounding box.

    Returns LngLat

    The northwest corner of the bounding box.

  • Returns the south edge of the bounding box.

    Returns number

    The south edge of the bounding box.

  • Returns the southeast corner of the bounding box.

    Returns LngLat

    The southeast corner of the bounding box.

  • Returns the southwest corner of the bounding box.

    Returns LngLat

    The southwest corner of the bounding box.

  • Returns the west edge of the bounding box.

    Returns number

    The west edge of the bounding box.

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

    Returns boolean

    True if bounds have been defined, otherwise false.

  • Set the northeast corner of the bounding box

    Parameters

    Returns this

  • Set the southwest corner of the bounding box

    Parameters

    Returns this

  • 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]]
  • 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))"
  • 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

    • 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}}
  • Returns a LngLatBounds from the coordinates extended by a given radius. The returned LngLatBounds completely contains the radius.

    Parameters

    • center: LngLat

      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]]