SDK
SDK Javascript v7.x
2

geodist #

Returns the distance between two geospatial members of a key (see geoadd).

The returned distance is expressed in meters by default.

[Redis documentation]

Arguments #

geodist(key, geopoint1, geopoint2, [options]);

ArgumentsTypeDescription
key
string
Key
geopoint1
string
First geopoint identifier
geopoint2
string
Second geopoint identifier
options
object
Optional query arguments

options #

The options arguments can contain the following option properties:

PropertyType (default)Description
queuable
boolean (true)
If true, queues the request during downtime, until connected to Kuzzle again
unit
string ('m')
The unit used for the returned calculated distance.
Accepted values: m, km, mi, ft
timeout
number

(-1)
Time (in ms) during which a request will still be waited to be resolved. Set it -1 if you want to wait indefinitely
triggerEvents
boolean

(false)
If set to true, will trigger events even if using Embeded SDK. You should always ensure that your events/pipes does not create an infinite loop.
Available since Kuzzle 2.31.0

Resolve #

Resolves to the calculated distance.

Usage #

const kuzzleHQ = {
  lon: 3.9109057,
  lat: 43.6073913,
  name: 'HQ'
};
const otherHQ = {
  lon: 3.897105,
  lat: 43.6002203,
  name: 'other HQ'
};
try {
  await kuzzle.ms.geoadd('geofoo', [kuzzleHQ, otherHQ]);
  // Prints: 1367.8521
  console.log(await kuzzle.ms.geodist('geofoo', 'HQ', 'other HQ'));
  // Prints: 4487.7038
  console.log(await kuzzle.ms.geodist(
    'geofoo',
    'HQ',
    'other HQ',
    {unit: 'ft'}
  ));
} catch (error) {
  console.error(error.message);
}