DEV Community

Techsolutionstuff
Techsolutionstuff

Posted on • Originally published at techsolutionstuff.com

2 1

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)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay