A React Native library to open a location in the user's preferred map or navigation app.
React Native Map Link is a library that allows React Native apps to open locations in external map and navigation applications. It solves the problem of hardcoding specific map apps by detecting which ones are installed on the user's device and presenting them as choices. This provides a better user experience by respecting individual preferences for navigation apps.
React Native developers building mobile applications that need to integrate with mapping or navigation services, particularly those targeting both iOS and Android platforms.
Developers choose this library because it offers comprehensive multi-app support with minimal configuration, handles platform-specific implementation details automatically, and provides flexibility for both simple dialogs and custom UI integrations.
🗺 Open the map app of the user's choice.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Detects over 20 installed map and navigation apps, including regional ones like Yandex and KakaoMap, ensuring broad compatibility and user preference respect.
Automatically presents iOS action sheets and Android alerts with proper URL scheme detection, handling cross-platform nuances out of the box.
Accepts both latitude/longitude coordinates and address strings, with configurable parameters like starting points for directions and app whitelisting/blacklisting.
Provides a getApps function to fetch available apps and build custom interface components, allowing full design control beyond default dialogs.
Requires editing Info.plist on iOS and AndroidManifest.xml for Android 11+ compatibility, which adds complexity and potential build errors, especially noted in Expo projects.
Some features like directionsMode have limited app support; for example, bike mode doesn't work on Apple Maps, and source coordinates are ignored by Waze.
Functionality relies on user-installed apps; if none are available, it may fallback to web versions, which can be less seamless and require additional handling.