DEV Community 👩‍💻👨‍💻

Techsolutionstuff
Techsolutionstuff

Posted on • Originally published at techsolutionstuff.com

Laravel 9 Get Current User Location Using IP Address

In this article, we will see laravel 9 get the current user location using an IP address.

Many times we are required to find the current location of users for any purpose.

So, here we will use stevebauman/location laravel package. Using this package you can get much information about the utilizer like postal code, zip code, region denomination, state name longitude, country denomination, latitude, iso code, etc. Detect a user's location by their IP Address.

So, let's see how to get the current user location in laravel 9, get the location in laravel 9, and get the location using an IP address in laravel 9.

Step 1: Install Laravel 9

In this step, we will install laravel 9 to get the user location using the following command.

composer create-project --prefer-dist laravel/laravel laravel_9_get_user_location
Enter fullscreen mode Exit fullscreen mode

Read Also: Laravel 9 Dynamic Line Chart Example


Step 2: Install stevebauman/location Package

In this step, we will install the stevebauman/location package using the following command.

composer require stevebauman/location
Enter fullscreen mode Exit fullscreen mode

Step 3: Add Service Provider And Aliase

Now, we will add the service provider in config/app.php file.

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

'providers' => [

    Stevebauman\Location\LocationServiceProvider::class,
],

'aliases' => [

    'Location' => 'Stevebauman\Location\Facades\Location',
],
Enter fullscreen mode Exit fullscreen mode

Step 4: Create Controller

Now, create a UserController.php file. and add the below code in that file.

app\Http\Controllers\UserController.php


<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;

class UserController extends Controller
{
    public function ip_details()
    {
        $ip = '103.239.147.187'; //For static IP address get
        //$ip = request()->ip(); //Dynamic IP address get
        $data = \Location::get($ip);                
        return view('details',compact('data'));
    }
}
Enter fullscreen mode Exit fullscreen mode

Step 5: Add Route

Now, we will add a route in the web.php file
routes\web.php

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\UserController;


Route::get('ip_details', [UserController::class,'ip_details']);
Enter fullscreen mode Exit fullscreen mode

Read Also: Laravel 9 Multiple Image Upload Example


Step 6: Create Blade File

In this step, we will create a details.blade.php file to get current user location details.

resources\views\details.blade.php

<html>
<head>
    <title>Laravel 9 Get Current User Location Using IP Address - Techsolutionstuff </title>
</head>
<body style="text-align: center;">
    <h1> Laravel 9 Get Current User Location Using IP Address - Techsolutionstuff </h1>
    <div style="border:1px solid black; margin-left: 300px; margin-right: 300px;">
    <h3>IP: {{ $data->ip }}</h3>
    <h3>Country Name: {{ $data->countryName }}</h3>
    <h3>Country Code: {{ $data->countryCode }}</h3>
    <h3>Region Code: {{ $data->regionCode }}</h3>
    <h3>Region Name: {{ $data->regionName }}</h3>
    <h3>City Name: {{ $data->cityName }}</h3>
    <h3>Zipcode: {{ $data->zipCode }}</h3>
    <h3>Latitude: {{ $data->latitude }}</h3>
    <h3>Longitude: {{ $data->longitude }}</h3>
    </div>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

Output:

laravel_9_get_current_user_location_using_ip_address


You might also like:

Top comments (0)

We are hiring! Do you want to be our Senior Platform Engineer? Are you capable of chipping in across sysadmin, ops, and site reliability work, while supporting the open source stack that runs DEV and other communities?

This role might just be for you!

Apply now