Skip to main content
Home

Built and signed on GitHub Actions

Works with
This package works with Node.js, Deno, Bun, Browsers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score76%
Published2 years ago (1.0.1)

Small library that provides hooks for google direction api

use-google-directions

GitHub Actions Workflow Status NPM Version NPM Downloads NPM License JSR Version GitHub Repo stars

Small library that provides hooks for google direction api

This package is using lbundle as bundler ✨

🚀 Motivation

There was a library to render directions on react native, it has some limitations (like not being able to get more information from the API call to google), and the library had no updates for a long time and no way to contribute, so created this package which takes other approach for giving data.

💾 install

This package requires the following packages @tanstack/react-query>=5.0.0, axios>=1.0.0 and react>=16.0.0, so make sure to have them in your project.

NPM registry

# npm
npm i -D use-google-directions

# yarn
yarn add -D use-google-directions

# pnpm
pnpm i -D use-google-directions

# bun
bun i -D use-google-directions

JSR registry

# deno
deno add -D @mrii/use-google-directions

# jsr
npx jsr add -D @mrii/use-google-directions

🔧 Usage

import { useGoogleMapsDirectionsQuery } from 'use-google-directions';

// or with jsr
// import { useGoogleMapsDirectionsQuery } from '@mrii/use-google-directions';

const Component: React.FC = () => {
  /* ... */

  // react-query Query result
  const focusedTripDirectionsQuery = useGoogleMapsDirectionsQuery({
    origin: {
      latitude: 1,
      longitude: 1,
    },
    destination: {
      latitude: 3,
      longitude: 3,
    },

    // many other props
  });

  // the result from google API
  const response = focusedTripDirectionsQuery.data?.data;

  // points that can be drawn using Maps Polyline
  const points = useDirectionPolylinePoints({ response, precision: 'hight' });

  // the distance of the route in meters
  const distance = useDirectionDistanceInM({ response });

  // the duration of the route in ms
  const duration = useDirectionDurationInMs({ response });

  // polyline using react-native-maps Polyline
  const reactNativeMapsPolyline = (
    <Polyline coordinates={points} strokeWidth={4} strokeColor='#0007' />
  );
};

🧰 API

Built and signed on
GitHub Actions

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@mrii/use-google-directions

Import symbol

import * as use_google_directions from "@mrii/use-google-directions";
or

Import directly with a jsr specifier

import * as use_google_directions from "jsr:@mrii/use-google-directions";

Add Package

pnpm i jsr:@mrii/use-google-directions
or (using pnpm 10.8 or older)
pnpm dlx jsr add @mrii/use-google-directions

Import symbol

import * as use_google_directions from "@mrii/use-google-directions";

Add Package

yarn add jsr:@mrii/use-google-directions
or (using Yarn 4.8 or older)
yarn dlx jsr add @mrii/use-google-directions

Import symbol

import * as use_google_directions from "@mrii/use-google-directions";

Add Package

vlt install jsr:@mrii/use-google-directions

Import symbol

import * as use_google_directions from "@mrii/use-google-directions";

Add Package

npx jsr add @mrii/use-google-directions

Import symbol

import * as use_google_directions from "@mrii/use-google-directions";

Add Package

bunx jsr add @mrii/use-google-directions

Import symbol

import * as use_google_directions from "@mrii/use-google-directions";