sfletche sfletche - 1 year ago 610
Javascript Question

OpenLayers 3: How to calculate distance between 2 points?

Using OpenLayers 3, how can I determine the distance between two points in the Spherical Mercator (SRID: 3857) projection?

I know that

was used in OpenLayers 2


I looked through the OpenLayers 3 docs, but I'm not finding anything similar...

Answer Source

You can use the Sphere object to calculate the distance between two coordinates like this:

var distance = ol.sphere.WGS84.haversineDistance([0,0],[180,0]); 
//20037508.34 meters 

Sphere provides also various algorithms to calculate the distance like cosine,equirectangular etc. You can also create the Sphere object with the radius of a different ellipsoid.

I don't know why the docs are not online, but you can check the methods available from the source code of the sphere object: https://github.com/openlayers/ol3/blob/master/src/ol/sphere/sphere.js

I personally think that looking at the source code is the best way to find answers about OpenLayers3 ;)