Thursday, November 28, 2024
Google search engine
HomeLanguagesGet current Geolocation of user using React-Geolocated

Get current Geolocation of user using React-Geolocated

In some situations, applications need to access the current location properties of the user. Location properties include latitude, longitude, and some more about the current location of the user. From the Location properties, the user can know the current geolocation of the user.

The app can provide specific services to the user according to current geolocation. For example, the Weather app shows the current weather of the user’s current geolocation using OpenWeatherMap API. The app with a map integration can show the current location of the user on Google map using Google Maps API.

In this tutorial, we will learn to access the current geolocation properties of users in react js by using the geolocated package. By using the react-geolocated package, the user can get the following details.

  • Latitude
  • Longitude
  • Altitude
  • Accuracy
  • speed

Users need to first set up the react project environment on their local computer.

Creating new react project

Step 1: To create a new react app, run the below command to your terminal.

npx create-react-app testapp

Step 2: Now, move inside the project directory using the below command.

cd testapp

Project Directory: It should look like the below image.

Step 3: Install the react-Geolocated package inside your project directory by running the below command in the terminal.

npm install react-geolocated --save

Now, we are ready to get the geolocation of the user using the react-geolocated.

Syntax:

1. Check if browser is supporting geolocated or not
   if(this.props.isGeolocationAvailable) {
     
     a. check if location in browser is enabled or not
        if(this.props.isGeolocationEnabled){
         
         i. check if coordinates of current location is 
             available or not
            if(this.props.coords){
            render the coordinates of current location.
            }  
        }     
    }

Example: Now, edit the app.js file and copy/paste the below code into it.

In this file, we will import the react-geolocated package and print the coordinates of the current location. We will bind the App component with the reducer function geolocated(). The geolocated Reducer function assigns the props to the app component when it will be rendered.

Filename: App.js

Javascript




import React, { Component } from "react";
 
// Importing geolocated reducer function
import { geolocated } from "react-geolocated";
 
class App extends Component {
    render() {
 
        // Check geolocation supported in
        // browser or not
        return this.props.isGeolocationAvailable ? (
 
            // Check location is enable in
            // browser or not
            this.props.isGeolocationEnabled ? (
 
                // Check coordinates of current
                // location is available or not
                this.props.coords ? (
                    <div>
                        <h1 style={{ color: "green" }}>GeeksForGeeks</h1>
                        <h3 style={{ color: "red" }}>
                            Current latitude and longitude of the user is
                        </h3>
                        <ul>
                            <li>latitude - {this.props.coords.latitude}</li>
                            <li>longitude - {this.props.coords.longitude}</li>
                        </ul>
                    </div>
                ) : (
                    <h1>Getting the location data</h1>
                )
            ) : (
                <h1>Please enable location on your browser</h1>
            )
        ) : (
            <h1>Please, update your or change the browser </h1>
        );
    }
}
 
// Binding geolocated() reducer function to
// App component, while exporting it
export default geolocated()(App);


Step to run: To run the project, enter the below command to your terminal in the project directory.

npm start

Output:

Supported browsers: Only the below browser with the specific version supports the react-geolocated.

  • Chrome ≥ 5
  • Firefox ≥ 3.5
  • Internet Explorer ≥ 9
  • Opera ≥ 10.60
  • Safari ≥ 5

Reference: https://www.npmjs.com/package/react-geolocated

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

RELATED ARTICLES

Most Popular

Recent Comments