npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@capgo/capacitor-nativegeocoder

v8.0.64

Published

Capacitor plugin for native forward and reverse geocoding

Readme

@capgo/capacitor-nativegeocoder

Turn coordinates into addresses and addresses into coordinates from your Capacitor app with the native geocoders on iOS and Android.

🤖 Building with an AI coding agent? Install Capgo skills so Claude Code, Codex, Cursor, Copilot, or Gemini CLI know how to install and use @capgo/capacitor-nativegeocoder in your Capacitor app: npx skills add Cap-go/capgo-skills. Then ask your agent: "Add @capgo/capacitor-nativegeocoder to my Capacitor app and wire it up." Agent setup guides · Hosted MCP

Built and maintained with AI

We build, improve and fix our plugins with heavy use of AI, so issues usually get fixed in under a day and pull requests get feedback the same day. A human still reviews, tests and merges 50+ pull requests daily.

  • Most plugin issues get a fix pull request the same day, often within a couple of hours, and are usually resolved in one to two days.
  • Every pull request goes through our AI review system, usually within minutes.
  • Our AI pre-checks tests, code review, conventions and security, then a human reviews, tests and merges.
  • A human, Martin, reviews, tests and merges 50+ pull requests every day.
  • In the last 90 days, 95% of plugin issues were resolved.

Learn more about how we build with AI

Key features

  • Reverse geocoding: reverseGeocode() converts latitude and longitude to street, city, postal code and country.
  • Forward geocoding: forwardGeocode() converts an address to coordinates.
  • Localized results: useLocale and defaultLocale on iOS and Android. Web uses defaultLocale for the request language.
  • Result limit: maxResults caps the number of matches.
  • Platforms: iOS, Android and Web. iOS uses Core Location, Android uses Geocoder. Web calls the Google Geocoding API with your apiKey.

Documentation

The most complete doc is available here: https://capgo.app/docs/plugins/nativegeocoder/

Compatibility

| Plugin version | Capacitor compatibility | Maintained | | -------------- | ----------------------- | ---------- | | v8.*.* | v8.*.* | ✅ | | v7.*.* | v7.*.* | On demand | | v6.*.* | v6.*.* | ❌ | | v5.*.* | v5.*.* | ❌ |

Note: The major version of this plugin follows the major version of Capacitor. Use the version that matches your Capacitor installation (e.g., plugin v8 for Capacitor 8). Only the latest major version is actively maintained.

Install

You can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

Then use the following prompt:

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-nativegeocoder` plugin in my project.

If you prefer Manual Setup, install the plugin by running the following commands and follow the platform-specific instructions below:

npm install @capgo/capacitor-nativegeocoder
npx cap sync

then import this into your code:

import { NativeGeocoder } from '@capgo/capacitor-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 example 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


getPluginVersion()

getPluginVersion() => Promise<{ version: string; }>

Get the native Capacitor plugin version

Returns: Promise<{ version: string; }>


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