This package provides geolocation information including country, city, latitude and longitude based on request IP. There are a few available providers: Extreme IP Lookup, Free GeoIP, Geobytes and Geoplugin.
Install the package using composer:
composer require itech-ro/geolocation
Edit app/config.php and add this line to providers array:
'providers' => [
...
Roitech\Geolocation\GeolocationServiceProvider::class,
...
];
Create a configuration file config/geolocation.php with the content:
<?php
return [
'provider' => 'geoplugin',
];
Once you set the preferred provider in config/geolocation.php (possible values: geobytes, freegeoip, extremeiplookup, geoplugin) the geolocation details can be accessed using the Geolocation facade:
$coordinates = Geolocation::getCoordinates(); //returns an array [ 'lat' => LATITUDE, 'long' => LONGITUDE ]
$city = Geolocation::getCity();
$country = Geolocation::getCountry();