This Distance PHP class can calculate the distance between two latitude/longitude locations using Math functions in PHP. No external API's are called.
MIT License
Get distance between two locations using PHP. The distance is getting calculated based on latitude and logitude variables and without using any other external class.
When using Composer you can always load in the latest version.
{
"require": {
"jeroendesloovere/distance": "1.0.*"
}
}
Check in Packagist.
Setting our example data
use JeroenDesloovere\Distance\Distance;
// first location
$latitude1 = '50.8538510000';
$longitude1 = '3.3550450000';
// second location
$latitude2 = '50.8325600000';
$longitude2 = '3.4787650000';
Get distance between two locations
$distance = Distance::between(
$latitude1,
$longitude1,
$latitude2,
$longitude2
);
// dump data
echo 'Distance between the two locations = ' . $distance . ' km';
Get closest distance from location 1 to one of the two locations (2 and 3)
// third location
$latitude3 = '50.8865040000';
$longitude3 = '3.4320850000';
// define multiple items
$items = array(
array(
'title' => 'location 2',
'latitude' => $latitude2,
'longitude' => $longitude2
),
array(
'title' => 'location 3',
'latitude' => $latitude3,
'longitude' => $longitude3
)
);
$distance = Distance::getClosest(
$latitude1,
$longitude1,
$items
);
// dump data
echo 'The closest location to location 1 is ' . $distance['title'] . ' and the distance between them is ' . $distance['distance'] . ' km';
The class is well documented inline. If you use a decent IDE you'll see that each method is documented with PHPDoc.
It would be great if you could help us improve this class. GitHub does a great job in managing collaboration by providing different tools, the only thing you need is a GitHub login.
The module is licensed under MIT. In short, this license allows you to do everything as long as the copyright statement stays present.