## Calculate a distance matrix between points `client.Routing.Matrix(ctx, body) (*MatrixResult, error)` **post** `/api/v1/matrix` Calculate a distance matrix between points ### Parameters - `body RoutingMatrixParams` - `MatrixRequest param.Field[MatrixRequest]` ### Returns - `type MatrixResult struct{…}` - `Distances [][]float64` Distance matrix (meters), origins x destinations - `Durations [][]float64` Duration matrix (seconds), origins x destinations ### Example ```go 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.GeoJsonGeometryParam{ Coordinates: githubcomplazafyiplazago.F[githubcomplazafyiplazago.GeoJsonGeometryCoordinatesUnionParam](githubcomplazafyiplazago.GeoJsonGeometryCoordinatesArrayParam([]float64{0.000000})), Type: githubcomplazafyiplazago.F(githubcomplazafyiplazago.GeoJsonGeometryTypePoint), }), Origins: githubcomplazafyiplazago.F(githubcomplazafyiplazago.GeoJsonGeometryParam{ Coordinates: githubcomplazafyiplazago.F[githubcomplazafyiplazago.GeoJsonGeometryCoordinatesUnionParam](githubcomplazafyiplazago.GeoJsonGeometryCoordinatesArrayParam([]float64{0.000000})), Type: githubcomplazafyiplazago.F(githubcomplazafyiplazago.GeoJsonGeometryTypePoint), }), }, }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", matrixResult.Distances) } ``` #### Response ```json { "distances": [ [ 0 ] ], "durations": [ [ 0 ] ] } ```