Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🌍 React hook usePosition() for fetching and following a browser geolocation

License

NotificationsYou must be signed in to change notification settings

trekhleb/use-position

Repository files navigation

npm versioncodecov

React hookusePosition() allows you to fetch a client's browser geolocation and/or subscribe to all further geolocation changes.

▶︎Storybook demo ofusePosition() hook.

Installation

Usingyarn:

yarn add use-position

Usingnpm:

npm i use-position --save

Usage

Import the hook:

import{usePosition}from'use-position';

Fetching client location

const{  latitude,  longitude,  speed,  timestamp,  accuracy,  heading,  error,}=usePosition();

Following client location

In this case if browser detects geolocation change thelatitude,longitude andtimestamp values will be updated.

constwatch=true;const{  latitude,  longitude,  speed,  timestamp,  accuracy,  heading,  error,}=usePosition(watch);

Following client location with the highest accuracy

The second parameter ofusePosition() hook isposition options.

constwatch=true;const{  latitude,  longitude,  speed,  timestamp,  accuracy,  heading,  error,}=usePosition(watch,{enableHighAccuracy:true});

Full example

importReactfrom'react';import{usePosition}from'use-position';exportconstDemo=()=>{constwatch=true;const{    latitude,    longitude,    speed,    timestamp,    accuracy,    heading,    error,}=usePosition(watch);return(<code>      latitude:{latitude}<br/>      longitude:{longitude}<br/>      speed:{speed}<br/>      timestamp:{timestamp}<br/>      accuracy:{accuracy&&`${accuracy} meters`}<br/>      heading:{heading&&`${heading} degrees`}<br/>      error:{error}</code>);};

Specification

usePosition() input

  • watch: boolean - set it totrue to follow the location.
  • settings: object -position options
    • settings.enableHighAccuracy - indicates the application would like to receive the most accurate results (defaultfalse),
    • settings.timeout - maximum length of time (in milliseconds) the device is allowed to take in order to return a position (defaultInfinity),
    • settings.maximumAge - the maximum age in milliseconds of a possible cached position that is acceptable to return (default0).

usePosition() output

  • latitude: number - latitude (i.e.52.3172414),
  • longitude: number - longitude (i.e.4.8717809),
  • speed: number | null - velocity of the device in meters per second (i.e.2.5),
  • timestamp: number - timestamp when location was detected (i.e.1561815013194),
  • accuracy: number - location accuracy in meters (i.e.24),
  • heading: number | null - direction in which the device is traveling, in degrees (0 degrees - north,90 degrees - east,270 degrees - west, and so on),
  • error: string - error message ornull (i.e.User denied Geolocation)

About

🌍 React hook usePosition() for fetching and following a browser geolocation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors4

  •  
  •  
  •  
  •  

[8]ページ先頭

©2009-2026 Movatter.jp