Skip to content
GuidesBlogPlaygroundDashboard

Calculate a distance matrix between points

routing.matrix(**kwargs) -> MatrixResult
POST/api/v1/matrix

Calculate a distance matrix between points

ParametersExpand Collapse
destinations: Array[{ lat, lng}]

Array of destination coordinates (max 50)

lat: Float

Latitude in decimal degrees (-90 to 90)

maximum90
minimum-90
lng: Float

Longitude in decimal degrees (-180 to 180)

maximum180
minimum-180
origins: Array[{ lat, lng}]

Array of origin coordinates (max 50)

lat: Float

Latitude in decimal degrees (-90 to 90)

maximum90
minimum-90
lng: Float

Longitude in decimal degrees (-180 to 180)

maximum180
minimum-180
annotations: String

Comma-separated list of annotations to include: duration (always included), distance. Example: duration,distance.

fallback_speed: Float

Fallback speed in km/h for pairs where no route exists. When set, unreachable pairs get estimated values instead of null.

exclusiveMinimum
minimum0
mode: :auto | :foot | :bicycle

Travel mode (default: auto)

One of the following:
:auto
:foot
:bicycle
ReturnsExpand Collapse
Hash[Symbol, untyped]

Distance matrix result. The exact response shape depends on the routing backend. Contains duration (and optionally distance) data for all origin-destination pairs. Null values indicate unreachable pairs.

Calculate a distance matrix between points

require "plaza"

plaza = Plaza::Client.new(
  api_key: "My API Key",
  environment: "local" # defaults to "production"
)

matrix_result = plaza.routing.matrix(
  destinations: [{lat: 48.8584, lng: 2.2945}],
  origins: [{lat: 48.8566, lng: 2.3522}, {lat: 48.8606, lng: 2.3376}]
)

puts(matrix_result)
{
  "foo": "bar"
}
Returns Examples
{
  "foo": "bar"
}