Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Cap-go/capacitor-nativegeocoder

Capacitor plugin for native forward and reverse geocoding
https://github.com/Cap-go/capacitor-nativegeocoder

android capacitor capacitor-plugin geocoding swift

Last synced: about 1 month ago
JSON representation

Capacitor plugin for native forward and reverse geocoding

Awesome Lists containing this project

README

        

# @capgo/nativegeocoder
Capgo - Instant updates for capacitor


➡️ Get Instant updates for your App with Capgo 🚀


Fix your annoying bug now, Hire a Capacitor expert 💪


Capacitor plugin for native forward and reverse geocoding

## Install

```bash
npm install @capgo/nativegeocoder
npx cap sync
```

then import this into your code:

```javascript
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`](https://capacitorjs.com/docs/ios/configuration#configuring-infoplist) in the [iOS Guide](https://capacitorjs.com/docs/ios) 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`:

```xml

```

## 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)
* [`forwardGeocode(...)`](#forwardgeocode)
* [Interfaces](#interfaces)

### reverseGeocode(...)

```typescript
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(...)

```typescript
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](https://github.com/sebastianbaar) and his work on [cordova-plugin-nativegeocoder](https://github.com/sebastianbaar/cordova-plugin-nativegeocoder) what he made was very inspiring