/gps

Tool for working with GPS points.

Primary LanguagePHPMIT LicenseMIT

GPS

GPS Point with useful detection and method.

Composer Code style Tester PhpStan

Latest Stable Version Total Downloads License Coverage Status

Installation

composer require stanislav-janu/gps

Compatibility

Version PHP Nette Utils
3.0 ^8.0 ^4.0
2.1 ^8.0 ^3.2
2.0 ^8.0 ^3.0
1.1 ^7.1 ^2.4 ^3.0
1.0 ^7.0 ^2.4

Usage

use JanuSoftware\GPS\GpsPoint;
use JanuSoftware\GPS\GpsPointException;

try {
    $point = GpsPoint::from('49°3\'6.630"N, 14°26\'7.763"E');
    echo $point; // 49.0518417, 14.4354897
    echo $point->lat; // 49.0518417
    echo $point->lng; // 14.4354897
} catch (GpsPointException $exception) {
    echo $exception->getMessage();
}

Accepted formats:

  • Google maps URL
  • Mapy.cz URL
  • 49°3'6.630"N, 14°26'7.763"E
  • N 49°3.11050', E 14°26.12938'
  • 49.0518417N, 14.4354897E
  • 49.0518417N,14.4354897E
  • 49.0518417, 14.4354897
  • 49.0518417,14.4354897
  • 49.0518417 14.4354897
  • -47.338388,-0.990228
  • -47.338388 -0.990228

Distance

$point1 = GpsPoint::from('some coordinates');
$point2 = GpsPoint::from('some coordinates');
$distance =  $point1->distanceTo($point2); // distance in meters

Google Maps Distance Matrix

...
$distance = $point1->distanceTo($point2, 'Google Maps API key'); // distance in meters