Skip to content

gojuno/go.osrm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

435fc3e · Feb 17, 2020

History

74 Commits
Apr 12, 2019
Apr 11, 2019
Feb 2, 2018
Apr 11, 2019
Feb 2, 2018
Feb 16, 2018
Apr 11, 2019
Mar 21, 2018
Aug 27, 2018
Feb 2, 2018
Mar 1, 2019
Aug 27, 2018
Apr 11, 2019
Apr 11, 2019
Apr 12, 2019
Sep 16, 2018
Apr 12, 2019
Aug 11, 2018
Feb 6, 2018
Apr 12, 2019
Apr 12, 2019
Apr 12, 2019
Feb 17, 2020
Feb 6, 2018
Apr 12, 2019
Feb 6, 2018
Jan 21, 2020
Jan 21, 2020

Repository files navigation

Go client library for OSRM

GoDoc Build Status Go Report Card codecov

Description

Currently supported OSRM APIs are:

Not implemeted yet:

Usage

Sample usage:

package main

import (
	"context"
	"log"
	"time"

	osrm "github.com/gojuno/go.osrm"
	geo "github.com/paulmach/go.geo"
)

func main() {
	client := osrm.NewFromURL("https://router.project-osrm.org")

	ctx, cancelFn := context.WithTimeout(context.Background(), time.Second)
	defer cancelFn()

	resp, err := client.Route(ctx, osrm.RouteRequest{
		Profile: "car",
		Coordinates: osrm.NewGeometryFromPointSet(geo.PointSet{
			{-73.980020, 40.751739},
			{-73.962662, 40.794156},
		}),
		Steps:       osrm.StepsTrue,
		Annotations: osrm.AnnotationsTrue,
		Overview:    osrm.OverviewFalse,
		Geometries:  osrm.GeometriesPolyline6,
	})
	if err != nil {
		log.Fatalf("route failed: %v", err)
	}

	log.Printf("routes are: %+v", resp.Routes)
}