Download the PHP package abdullmng/laravel-distance without Composer
On this page you can find all versions of the php package abdullmng/laravel-distance. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download abdullmng/laravel-distance
More information about abdullmng/laravel-distance
Files in abdullmng/laravel-distance
Package laravel-distance
Short Description Calculate straight-line and route-based distances between addresses or coordinates with built-in geocoding and routing
License MIT
Informations about the package laravel-distance
Laravel Distance Calculator
A comprehensive Laravel package for calculating distances between locations with built-in geocoding support. Perfect for logistics, ride-sharing, delivery, and location-based applications.
Features
- 🌍 Multiple Geocoding Providers: Nominatim (OpenStreetMap), Google Maps, Mapbox, and OpenCage
- 📏 Accurate Distance Calculations: Haversine and Vincenty formulas for straight-line distances
- 🛣️ Route-Based Distances: Calculate actual driving/walking/cycling distances using road networks
- ⏱️ Travel Time Estimates: Get estimated duration for routes
- 🔄 Flexible Input: Accept addresses, coordinates, or coordinate strings
- 📦 Multiple Units: Kilometers, miles, meters, and feet
- 💾 Built-in Caching: Reduce API calls and improve performance
- 🎯 Bearing & Direction: Calculate bearing and compass direction between locations
- 🔌 Easy Integration: Laravel service provider and facade support
Requirements
- PHP 8.2, 8.3, or 8.4
- Laravel 10.x, 11.x, or 12.x
Installation
Install the package via Composer:
Publish the configuration file:
Configuration
Configure your preferred geocoding and routing providers in .env:
Usage
Straight-Line Distance Calculation
Route-Based Distance Calculation
Comparing Straight-Line vs Route Distance
Different Travel Modes
Using Coordinates
Using Coordinate Strings
Specify Unit
Geocoding
Structured Geocoding (Improved Accuracy)
For better accuracy, especially in developing countries, use structured geocoding:
Geocoding Quality Scores
All geocoding results include accuracy scores to help you make informed decisions:
Bearing and Direction
Advanced: Vincenty Formula
For more accurate calculations (especially over long distances):
Working with Results
Advanced Geocoding Features
Fallback Chain
Automatically try multiple geocoding providers until you get a high-quality result:
Local Coordinate Cache
Cache frequently used addresses for instant, 100% accurate results:
For more details, see GEOCODING_ACCURACY.md.
Geocoding Providers
Nominatim (OpenStreetMap) - Free
No API key required. Great for development and low-volume applications.
Google Maps - Paid
Highly accurate with extensive coverage.
Mapbox - Freemium
Good balance of accuracy and pricing.
OpenCage - Freemium
Aggregates multiple data sources.
Use Cases
Logistics & Delivery Apps
Ride-Sharing Apps
Store Locator
Documentation
- Routing Guide - Comprehensive guide for route-based distance calculations
- Mapbox Geocoding Guide - Mapbox geocoding setup and troubleshooting
- Quick Start Guide - Get started quickly with examples
- Contributing Guide - How to contribute to this package
Testing
License
MIT License. See LICENSE for more information.
Credits
Support
For issues, questions, or contributions, please visit the GitHub repository.
All versions of laravel-distance with dependencies
illuminate/support Version ^10.0|^11.0|^12.0
guzzlehttp/guzzle Version ^7.0