psonrie/geolocation

Laravel service provider to retrieve a users location by their IP Address

0.3.2 2021-04-23 07:03 UTC

This package is auto-updated.

Last update: 2024-05-23 13:54:46 UTC


README

Travis CI Scrutinizer Code Quality Latest Stable Version Total Downloads License

Geo Location

Laravel service provider to retrieve a users location from their IP address using freegeoip.app or geolocation-db service.

Requirements

  • Laravel >= 5.5
  • PHP 7.0 or greater
  • cURL extension enabled

Installation

Via Composer

composer require psonrie/geolocation

Note: If you're using Laravel 5.5 or above, you can skip the registration of the service provider, as it is registered automatically.

Add the service provider in config/app.php:

Psonrie\GeoLocation\GeoLocationServiceProvider::class,

Publish the config file:

php artisan vendor:publish --provider="Psonrie\GeoLocation\GeoLocationServiceProvider"

Usage

Retrieving a users location

$geoLocation = new GeoLocation();

$response = $geoLocation->get('46.24.247.56');

// Returns instance of Psonrie\GeoLocation\Response

Psonrie\GeoLocation\Response {
  ip: "46.24.247.56"
  countryCode: "ES"
  countryName: "Spain"
  regionCode: "CT"
  regionName: "Catalonia"
  cityName: "Barcelona"
  zipCode: "08004"
  timeZone: "Europe/Madrid"
  latitude: "41.3891"
  longitude: "2.1611"
  metroCode: 0
}

Contribute

Contributions are welcome! Send a pull request to the main repository or report any issues you find on the issue tracker.

License

The MIT License (MIT). Please see LICENSE for more information.