// Using callbacks (NodeJS or Web Browser)
kuzzle.memoryStorage.geopos('key', ['Palermo', 'Catania'], function (err, positions) {
  // callback called once the action has completed

// Using promises (NodeJS only)
kuzzle.memoryStorage.geoposPromise('key', ['Palermo', 'Catania'])
  .then(positions => {
    // resolved once the action has completed
String[] members = {"Palermo", "Catania"};

kuzzle.memoryStorage.geopos("key", members, new ResponseListener<Double[][]>() {
  public void onSuccess(Double[][] positions) {
    // callback called once the action has completed

  public void onError(JSONObject error) {

use \Kuzzle\Kuzzle;

$kuzzle = new Kuzzle('localhost');

try {
  $positions = $kuzzle->memoryStorage()->geopos('key', ['Palermo', 'Catania']);
catch (ErrorException $e) {


Callback response:

[ [13.361389, 38.115556], [15.087269, 37.502669]]

Returns the positions (longitude, latitude) of the provided key's members (see geoadd).

[Redis documentation]

geopos(key, members, [options], callback)

keystringKey identifier
membersarrayList of geospatial points contained in the key
optionsJSON ObjectOptional parameters


queuablebooleanMark this request as (not) queuabletrue

Callback response

Resolves to an array of longitude-latitude pairs, in the same order than the provided members list.