Laravel Geo Location package to get details for a given IP Address
adrianorosa/laravel-geolocation is a Laravel package for laravel geo location package to get details for a given ip address.
It currently has 65 GitHub stars and 100.237 downloads on Packagist (latest version v1.4.0).
Install it with composer require adrianorosa/laravel-geolocation.
Discover more Laravel packages by adrianorosa
or browse all Laravel packages to compare alternatives.
Last updated
Laravel package to get the details about Region, City and Country for a given IP Address.
This package is a wrapper for IpInfo Provider, however we have plan to implement a driver for MaxMind GeoIP2 databases.
composer require adrianorosa/laravel-geolocation
This package supports the latest version of Laravel, for now 5.8+ was tested, but older versions should work fine.
As of Laravel 5.5 there is no need to add the ServiceProvider within the AppServiceProvider array.
Laravel loads this provider using Package Discovery.
There is no need to additional setup to start using, once you install it via composer you can call the Facade:
<?php
use Adrianorosa\GeoLocation\GeoLocation;
$details = GeoLocation::lookup('8.8.8.8');
echo $details->getIp();
// 8.8.8.8
echo $details->getCity();
// Mountain View
echo $details->getRegion();
// California
echo $details->getCountry();
// United States
echo $details->getLatitude();
// 37.386
echo $details->getLongitude();
// -122.0838
var_dump($details->toArray());
// Array
// (
// [city] => Mountain View
// [region] => California
// [country] => United States
// [countryCode] => US
// [latitude] => 37.386
// [longitude] => -122.0838
//)
To display details about an Ip or Your current network Ip Address you may use the artisan command:
php artisan geolocation:lookup --ip 8.8.8.8
+---------+---------------+------------+----------------+-------------+----------+-----------+
| ip | city | region | country | countryCode | latitude | longitude |
+---------+---------------+------------+----------------+-------------+----------+-----------+
| 8.8.8.8 | Mountain View | California | Estados Unidos | US | 37.386 | -122.0838 |
+---------+---------------+------------+----------------+-------------+----------+-----------+
This package comes with a little configuration for IpInfo and translations for Country Names.
You can stick with default values, which works fine, or publish using the following commands:
Publish all config and translations
php artisan vendor:publish
Publish config
php artisan vendor:publish --tag=geolocation-config
Publish translations
php artisan vendor:publish --tag=geolocation-translations
Adriano Rosa (https://adrianorosa.com)
Copyright © 2021, Adriano Rosa [email protected] All rights reserved.
For the full copyright and license information, please view the LICENSE file that was distributed within the source root of this project.