Project

osrm

0.01
No commit activity in last 3 years
No release in over 3 years
Ruby API to request Open Source Routing Machine servers
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

>= 1.7.0, ~> 1
< 13.0, >= 10.2.0

Runtime

>= 0.0.2, ~> 0
 Project Readme

OSRM Gem

OSRM Gem is a Ruby API that allows you to request Open Source Routing Machine servers. You can run your own server, use the OSRM demo server or the Mapbox server.

Usage

  1. Install OSRM Gem

     gem install osrm
    
  2. Configure

     require 'osrm'
     OSRM.configure(
    
       # Connection
       server:       'example.com',      # Must be specified
       port:         8080,               # Default: 80 or 443 if SSL
       use_ssl:      true,               # Default: false
       path_prefix:  '/optional/path',   # Default: ''
       ## OSRM demo server connection
       # server:     :demo,
       ## Mapbox server connection
       # server:     :mapbox,
       # api_key:    'access-token',
    
       # Connection (advanced)
       timeout:        10,                               # Default: 3
       user_agent:     'MyScript/1.1',                   # Default: 'OSRMRubyGem/{version}'
       before_request: -> { sleep 1 },                   # Default: nil
       after_request:  -> { puts 'Request performed!' }, # Default: nil
    
       # Caching
       # The cache can be any object providing [] and []= methods.
       # The cache key must contain the {url} pattern.
       cache:      {},                 # Default: nil (no cache)
       cache_key:  'my-script:{url}',  # Default: 'osrm:{url}'
    
       # Requests
       # Specify the precision of the overview geometries returned
       overview: :full                 # Possible values: false, :simplified (default), :full
    
     )
    
  3. Request

     OSRM.routes('50.202712,8.582738', '50.20232,8.574447')
     OSRM.route('50.202712,8.582738', '50.20232,8.574447', '50.2099431,8.5710665')
     OSRM.route_by_cycling('45.734818,7.3219649', '45.868829,7.1533417')
    

License

OSRM Gem is released under MIT License.