Goong DocumentsJavascript APIGeography and geometry

Geography and geometry

General utilities and types that relate to working with and manipulating geographic information or geometries.

LngLat

src/geo/lng_lat.js

A LngLat object represents a given longitude and latitude coordinate, measured in degrees.

Goong GL uses longitude, latitude coordinate order (as opposed to latitude, longitude) to match GeoJSON.

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

new LngLat(lng: number, lat: number)

Parameters

lng(number)Longitude, measured in degrees.
lat(number)Latitude, measured in degrees.

Example

var ll = new goongjs.LngLat(-73.9749, 40.7736);

Static Members

Instance Members

LngLatLike

src/geo/lng_lat.js

A LngLat object, an array of two numbers representing longitude and latitude, or an object with lng and lat or lon and lat properties.

Example

var v1 = new goongjs.LngLat(-122.420679, 37.772537);
var v2 = [-122.420679, 37.772537];
var v3 = {lon: -122.420679, lat: 37.772537};

LngLatBounds

src/geo/lng_lat_bounds.js

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.

new LngLatBounds(sw: LngLatLike?, ne: LngLatLike?)

Parameters

sw(LngLatLike?)The southwest corner of the bounding box.
ne(LngLatLike?)The northeast corner of the bounding box.

Example

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

Static Members

Instance Members

LngLatBoundsLike

src/geo/lng_lat_bounds.js

A LngLatBounds object, an array of LngLatLike objects in [sw, ne] order, or an array of numbers in [west, south, east, north] order.

Example

var v1 = new goongjs.LngLatBounds(
new goongjs.LngLat(-73.9876, 40.7661),
new goongjs.LngLat(-73.9397, 40.8002)
);
var v2 = new goongjs.LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002])
var v3 = [[-73.9876, 40.7661], [-73.9397, 40.8002]];

Point

src/ui/map.js

A Point geometry object, which has x and y properties representing screen coordinates in pixels.

PointLike

src/ui/map.js

A Point or an array of two numbers representing x and y screen coordinates in pixels.

MercatorCoordinate

src/geo/mercator_coordinate.js

A MercatorCoordinate object represents a projected three dimensional position.

MercatorCoordinate uses the web mercator projection (EPSG:3857) with slightly different units:

  • the size of 1 unit is the width of the projected world instead of the "mercator meter"
  • the origin of the coordinate space is at the north-west corner instead of the middle

For example, MercatorCoordinate(0, 0, 0) is the north-west corner of the mercator world and MercatorCoordinate(1, 1, 0) is the south-east corner. If you are familiar with vector tiles it may be helpful to think of the coordinate space as the 0/0/0 tile with an extent of 1.

The z dimension of MercatorCoordinate is conformal. A cube in the mercator coordinate space would be rendered as a cube.

new MercatorCoordinate(x: number, y: number, z: number)

Parameters

x(number)The x component of the position.
y(number)The y component of the position.
z(number)(default 0)The z component of the position.

Example

var nullIsland = new goongjs.MercatorCoordinate(0.5, 0.5, 0);

Static Members

Instance Members