jansuchanek/ndistance

Geocoding + driving distance via Nominatim/OSRM — no API key needed

Maintainers

Package info

github.com/JanSuchanek/ndistance

pkg:composer/jansuchanek/ndistance

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-03-19 08:33 UTC

This package is auto-updated.

Last update: 2026-04-20 15:26:23 UTC


README

Address geocoding + driving distance calculation using free APIs. No API key needed.

  • Nominatim (OpenStreetMap) — address → lat/lng
  • OSRM — driving distance & duration

Installation

composer require jansuchanek/ndistance

Usage

use NDistance\DistanceCalculator;

$calc = new DistanceCalculator(
    userAgent: 'MyApp/1.0',
    defaultCountry: 'cz',
);

// Geocode address
$coords = $calc->geocode('Brno, Česko');
// ['lat' => 49.19, 'lng' => 16.61]

// Driving distance between coordinates
$route = $calc->drivingDistance(50.08, 14.42, 49.19, 16.61);
// ['distance' => 205.3, 'duration' => 125]  (km, minutes)

// Check delivery range
$result = $calc->checkDistance(50.08, 14.42, 'Brno', 250.0);
// ['ok' => true, 'distance' => 205.3, 'duration' => 125, ...]

Requirements

  • PHP >= 8.1
  • ext-curl