A React Native module for launching popular navigation and ride apps to navigate to a destination.
React Native Launch Navigator is a React Native module that enables mobile apps to launch external navigation and ride-hailing applications like Google Maps, Waze, Uber, and Apple Maps. It solves the problem of integrating multi-app navigation features without dealing with each app's custom URI schemes and platform differences. The module provides a unified API to detect installed apps, check feature support, and launch navigation with various parameters.
React Native developers building iOS and Android apps that require navigation features, such as ride-hailing services, delivery apps, or location-based services. It's particularly useful for teams needing to offer users a choice of navigation apps.
Developers choose this module because it abstracts the complexity of launching dozens of navigation apps across two platforms into a single, well-documented API. It saves significant development time, ensures compatibility, and provides features like automatic geocoding and detailed feature support queries.
A React Native module for launching today's most popular navigation/ride apps to navigate to a destination.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a single API to launch navigation on iOS and Android, abstracting the complex URI schemes of over 20 apps, as detailed in the supported apps list and parameter tables.
Detects installed navigation apps and queries feature support via methods like getAvailableApps() and supportsTransportMode(), enabling dynamic app selection based on device capabilities.
Automatically converts addresses to coordinates or vice versa as needed by the target app, with options to disable it, though it requires a Google API key on Android for geocoding.
Includes detailed API references, platform-specific notes, app-specific quirks, and an example project, making integration practical and reducing guesswork.
Requires developers to manually whitelist URL schemes in Info.plist for each navigation app, a tedious and error-prone step since React Native v0.60 removed automation, as noted in the installation section.
Relies on a Google API key for geocoding on Android and internet connectivity for geocoding operations, adding setup overhead and potential points of failure in offline scenarios.
Some apps like 99 Taxi have strict requirements, such as mandatory start locations, and the module doesn't handle all edge cases automatically, requiring extra developer work as highlighted in the app-specifics section.
Lacks a pre-built UI component for app selection; developers must implement their own picker interface, as the module only provides API methods to check availability.