Skip to content
GuidesBlogPlaygroundDashboard

Calculate a distance matrix between points

client.Routing.Matrix(ctx, body) (*MatrixResult, error)
POST/api/v1/matrix

Calculate a distance matrix between points

ParametersExpand Collapse
body RoutingMatrixParams
MatrixRequest param.Field[MatrixRequest]

Request body for distance matrix calculation. Computes travel durations (and optionally distances) between every origin-destination pair. Maximum 2,500 pairs (origins × destinations), each list capped at 50 coordinates.

ReturnsExpand Collapse
type MatrixResult map[string, unknown]

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

package main

import (
  "context"
  "fmt"

  "github.com/plazafyi/plaza-go"
  "github.com/plazafyi/plaza-go/option"
)

func main() {
  client := githubcomplazafyiplazago.NewClient(
    option.WithAPIKey("My API Key"),
  )
  matrixResult, err := client.Routing.Matrix(context.TODO(), githubcomplazafyiplazago.RoutingMatrixParams{
    MatrixRequest: githubcomplazafyiplazago.MatrixRequestParam{
      Destinations: githubcomplazafyiplazago.F([]githubcomplazafyiplazago.MatrixRequestDestinationParam{githubcomplazafyiplazago.MatrixRequestDestinationParam{
        Lat: githubcomplazafyiplazago.F(48.858400),
        Lng: githubcomplazafyiplazago.F(2.294500),
      }}),
      Origins: githubcomplazafyiplazago.F([]githubcomplazafyiplazago.MatrixRequestOriginParam{githubcomplazafyiplazago.MatrixRequestOriginParam{
        Lat: githubcomplazafyiplazago.F(48.856600),
        Lng: githubcomplazafyiplazago.F(2.352200),
      }, githubcomplazafyiplazago.MatrixRequestOriginParam{
        Lat: githubcomplazafyiplazago.F(48.860600),
        Lng: githubcomplazafyiplazago.F(2.337600),
      }}),
    },
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", matrixResult)
}
{
  "foo": "bar"
}
Returns Examples
{
  "foo": "bar"
}