Skip to content

Cap-go/capacitor-nativegeocoder

Repository files navigation

@capgo/nativegeocoder

Capgo - Instant updates for capacitor

Capacitor plugin for native forward and reverse geocoding

Install

npm install @capgo/nativegeocoder
npx cap sync

then import this into your code:

import { NativeGeocoder } from '@capgo/nativegeocoder';

iOS

Apple requires privacy descriptions to be specified in Info.plist for location information:

  • NSLocationAlwaysAndWhenInUseUsageDescription (Privacy - Location Always Usage Description)
  • NSLocationWhenInUseUsageDescription (Privacy - Location When In Use Usage Description)

Read about Configuring Info.plist in the iOS Guide for more information on setting iOS permissions in Xcode The IOS implementation require internet

Android

This API requires the following permissions be added to your AndroidManifest.xml:

<!-- Geolocation API -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />

Web

This API requires a Google API key to be set in the apiKey field of the ForwardOptions or ReverseOptions interfaces.

There is no way to use this plugin on the web without a Google API key.

The return data is limited to the data available from the native API on the device, as exemple formatted_address is not available in web implementation, as it's not available in the native API.

API

reverseGeocode(...)

reverseGeocode(options: ReverseOptions) => Promise<{ addresses: Address[]; }>

Convert latitude and longitude to an address

Param Type
options ReverseOptions

Returns: Promise<{ addresses: Address[]; }>

Since: 0.0.1


forwardGeocode(...)

forwardGeocode(options: ForwardOptions) => Promise<{ addresses: Address[]; }>

Convert an address to latitude and longitude

Param Type
options ForwardOptions

Returns: Promise<{ addresses: Address[]; }>

Since: 0.0.1


Interfaces

Address

Prop Type
latitude number
longitude number
countryCode string
countryName string
postalCode string
administrativeArea string
subAdministrativeArea string
locality string
subLocality string
thoroughfare string
subThoroughfare string
areasOfInterest string[]

ReverseOptions

Prop Type Description
latitude number latitude is a number representing the latitude of the location.
longitude number longitude is a number representing the longitude of the location.
useLocale boolean Localise the results to the given locale.
defaultLocale string locale is a string in the format of language_country, for example en_US.
maxResults number Max number of results to return.
apiKey string Only used for web platform to use google api
resultType string Only used for web platform to use google api

ForwardOptions

Prop Type Description
addressString string address is a string of the address to be geocoded.
useLocale boolean Localise the results to the given locale.
defaultLocale string locale is a string in the format of language_country, for example en_US.
maxResults number Max number of results to return.
apiKey string Only used for web platform to use google api

Thanks

To @sebastianbaar and his work on cordova-plugin-nativegeocoder what he made was very inspiring