🗺 A simple react-native library to perform cross-platform map actions (Google or Apple Maps)

Overview

react-native-open-maps

Travis David npm

🗺 A simple cross-platform library to help perform map actions to the corresponding device's map (Google or Apple Maps)

react-native-open-maps works by creating a deep link for either Apple maps or Google maps that can be used to open up the relevant map application. In order to maximize compatibility some platform specific parameters are omitted, but simplifies development efforts and ensures a smooth user experience.

Features

  • ✅ Open the map coordinates immediately
  • ✅ Create a delayed invoked function that will open the map
  • ✅ Create a string of the map link
  • Cross-compatible properties among both map applications

Demo Gif

Usage

  1. Install the repository
    $ npm install --save react-native-open-maps
  2. Add an import to the top of your file
    import openMap from 'react-native-open-maps';
  3. Put it all together
    import React, { Component } from 'react';
    import { Button } from 'react-native';
    import openMap from 'react-native-open-maps';
    
    export default class App extends Component {
      _goToYosemite() {
        openMap({ latitude: 37.865101, longitude: -119.538330 });
      }
      
      render() {
        return (
          <Button
            color={'#bdc3c7'}
            onPress={this._goToYosemite}
            title="Click To Open Maps 🗺" />
        );
      }
    }
  4. BONUS: You can also create delayed functions for more of that 1 - 1 mapping flavor 🍦 .
import { createOpenLink } from 'react-native-open-maps';

const yosemite = { latitude: 37.865101, longitude: -119.538330 };
const openYosemite = createOpenLink(yosemite);
const openYosemiteZoomedOut = createOpenLink({ ...yosemite, zoom: 30 });

const facebookHQ = { latitude: 37.4847, longitude: 122.1477 };
const openFacebookHQ = createOpenLink(facebookHQ);

// Condensed for Readability...
    render() {
        return (
          <Button
            color={'#bdc3c7'}
            onPress={openYosemite}
            title="Go to Yosemite 🏔" />
          <Button
            color={'#bdc3c7'}
            onPress={openFacebookHQ}
            title="Go to Facebook HQ 🕋" />
        );

API

default function open(options)

react-native-open-maps immediately opens the map of the coordinates and the settings

{ createOpenLink(options) }

Creates a delayed invoked function to open the map. This is useful for binding functions to onPress() in a succinct manner. Think of it like ... function openToMe() { open(coordinates) }

{ createMapLink(options) }

Creates the raw link for the map.

options

🔑 Italicize indicates optional

Properties Type Description Example
latitude number The latitude 37.865101
longitude number The longitude -119.538330
zoom number The zoom level, only works with latitude and longitude 18
Default: 15
provider string
[google,apple]
If no provider set, it will determine according to Platform.OS apple
query string Will act according to the map used. Refer to query property "Yosemite Trail"
travelType enumeration : [drive, walk,public_transport] Use this parameter in conjunction with start and end to determine transportation type. Default is drive "drive"
start string that geolocation can understand The start location that can be interpreted as a geolocation, omit if you want to use current location / "My Location". See Apple and Google docs for more details on how to define geolocations. "New York City, New York, NY"
end string that geolocation can understand. The end location that can be interpreted as a geolocation. See Apple and Google docs for more details on how to define geolocations. "SOHO, New York, NY"
navigate_mode string
[preview,navigate]
Determines whether map should open in preview mode or in navigate mode (with turn-by-turn navigation).
This parameter only works in conjunction with end. Platform map uses current location as start parameter
"navigate"
default: "preview"

Note: Combining query with latitude and longitude will override the query parameter.

Map Actions

To perform certain map actions refer these necessary parameters

  • Setting Directions: end, [ start , travelType ]
  • Display Map Around Coordinates: latitude + longitude, [ zoom ]
  • Query Map For Location: query
Query Property

The query behavior differs per platform:

  • Apple Maps: If latitude and longitude is provided, this will place a marker with the query as a label. If no latitude or longitude is provided, it will center map to closest query match.
  • Google Maps: Will override latitude and longitude if present and center map to closest query match. Without a query, you may however use <latitude>,<longitude> as a string value in the query to have a unnamed marker on the map.

License

MIT © Brandon Him

Shameless Plug 🔌

If you like this repository, check out my other react-native projects or follow me for other open-source projects:

  • react-native-masonry: A pure JS react-native component to render a masonry~ish layout for images with support for dynamic columns, progressive image loading, device rotation, on-press handlers, and headers/captions.
  • react-native-hero: A super duper easy hero unit react-native component with support for dynamic image, dynamic sizing, color overlays, and more
  • rn-component-cookbook: A open-source cookbook with recipes for handling everyday issues when building robust, modular react-native components
  • generator-rnc: A yeoman generator to scaffold a ready-to-go, open-source react-native component (Jest, Package dependencies, Travis, etc)
Comments
  • How to drop a Marker Pin?

    How to drop a Marker Pin?

    I could open the map application using this react-native-open-maps module, but after opening the location suddenly gets changed to the user's current location. How to sustain the view or is there any possibility to add a marker to the opened location?

    bug 
    opened by 95deepan 11
  • Opening Maps in navigation mode

    Opening Maps in navigation mode

    Hi @brh55 is there any reason why the maps are not being opened in navigation mode? I.e. for Google maps dir_action=navigate. Is it a design thing? Or does the library not aim to achieve this? Please let me know, as am able to do a PR to add that behaviour. Thanks

    opened by nwaughachukwuma 6
  • Can't find variable: defaultProvider

    Can't find variable: defaultProvider

    Hey there,

    I have implemented the example shown in the documentation but get an error:

    ReferenceError: Can't find variable: defaultProvider

    Thanks for your help.

    opened by devon66h 3
  • Apple Map travel type

    Apple Map travel type

    The apple map query param for travel type is incorrect. Currently, the param name is dirflag. From documentation, it should be dirflg.

    I have verified that the current name isn't working and fixing the name will open apple maps with the right type.

    This is a simple fix, I'm more than happy to submit a PR if you'd like.

    opened by tindn 3
  • Cannot drop a marker

    Cannot drop a marker

    Hi, If I open the map with longitude and latitude, I'm not able to get the marker on the corrispondent maps app on Android & iOS, it opens to the coordinates but it doesn't drop the marker. I also tried to set "latitude,longitude" in the query parameter but it's still not present.

    Thanks, Nicholas.

    opened by NicholasBertazzonAga 3
  • Way to pass Location Name

    Way to pass Location Name

    After opening the location in Google maps, it points to proper location, but name says Unnamed Location. Can you implement way to pass the name to Google maps?

    help wanted good first issue beginners 
    opened by bamne123 3
  • Pin point location not showing on IOS map

    Pin point location not showing on IOS map

    Hello, I just tried to use the code but for some reason when I open on the IOS map it does not show the pin point location but it does show the area of the latitude and longitude, please help

    (this is the code bellow)

    <TouchableOpacity style={styles.actionButton} onPress={() => {openMap({ latitude:-7.713009199999998, longitude:109.9184728 })}}> <MaterialCommunityIcons name="map-marker-radius" size={40} color="white" />

    opened by Judono 2
  • Add Google Place Id parameters

    Add Google Place Id parameters

    Add Google Place Id parameters for better map/navigation experience.

    Reference query_place_id: https://developers.google.com/maps/documentation/urls/get-started#search-action destination_place_id: https://developers.google.com/maps/documentation/urls/get-started#directions-action

    opened by gpminsuk 2
  • Fix variable declaration

    Fix variable declaration

    Hi @brh55 this PR fixes the omitted variable declaration in createOpenLink. I have removed the the logic for #25 and PR #29. Let me know what you think

    opened by nwaughachukwuma 2
  • Open Google Maps if present on iOS

    Open Google Maps if present on iOS

    On iOS, open Google Maps if present, else open Apple Maps. @brh55 this is a proposal for #25. Please see if it aligns with your ideas for the library. Thanks

    opened by nwaughachukwuma 2
  • Add a pin on map from lat and long

    Add a pin on map from lat and long

    This is the question and not a issue. I am new in react native and do make mistakes because I am fool, idiot, etc ...

    Is it possible to add pin when we open native maps through openMap API? Can you give example if it is possible?

    Thanks in advance for your respond.

    opened by SandeshVakale 2
  • build(deps): bump json5 from 2.2.0 to 2.2.3 in /example

    build(deps): bump json5 from 2.2.0 to 2.2.3 in /example

    Bumps json5 from 2.2.0 to 2.2.3.

    Release notes

    Sourced from json5's releases.

    v2.2.3

    v2.2.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
    Changelog

    Sourced from json5's changelog.

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1 [code, diff]

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
    Commits
    • c3a7524 2.2.3
    • 94fd06d docs: update CHANGELOG for v2.2.3
    • 3b8cebf docs(security): use GitHub security advisories
    • f0fd9e1 docs: publish a security policy
    • 6a91a05 docs(template): bug -> bug report
    • 14f8cb1 2.2.2
    • 10cc7ca docs: update CHANGELOG for v2.2.2
    • 7774c10 fix: add proto to objects and arrays
    • edde30a Readme: slight tweak to intro
    • 97286f8 Improve example in readme
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump json5 from 2.2.0 to 2.2.3

    build(deps): bump json5 from 2.2.0 to 2.2.3

    Bumps json5 from 2.2.0 to 2.2.3.

    Release notes

    Sourced from json5's releases.

    v2.2.3

    v2.2.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
    Changelog

    Sourced from json5's changelog.

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1 [code, diff]

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
    Commits
    • c3a7524 2.2.3
    • 94fd06d docs: update CHANGELOG for v2.2.3
    • 3b8cebf docs(security): use GitHub security advisories
    • f0fd9e1 docs: publish a security policy
    • 6a91a05 docs(template): bug -> bug report
    • 14f8cb1 2.2.2
    • 10cc7ca docs: update CHANGELOG for v2.2.2
    • 7774c10 fix: add proto to objects and arrays
    • edde30a Readme: slight tweak to intro
    • 97286f8 Improve example in readme
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump qs from 6.5.2 to 6.5.3

    build(deps): bump qs from 6.5.2 to 6.5.3

    Bumps qs from 6.5.2 to 6.5.3.

    Changelog

    Sourced from qs's changelog.

    6.5.3

    • [Fix] parse: ignore __proto__ keys (#428)
    • [Fix] utils.merge: avoid a crash with a null target and a truthy non-array source
    • [Fix] correctly parse nested arrays
    • [Fix] stringify: fix a crash with strictNullHandling and a custom filter/serializeDate (#279)
    • [Fix] utils: merge: fix crash when source is a truthy primitive & no options are provided
    • [Fix] when parseArrays is false, properly handle keys ending in []
    • [Fix] fix for an impossible situation: when the formatter is called with a non-string value
    • [Fix] utils.merge: avoid a crash with a null target and an array source
    • [Refactor] utils: reduce observable [[Get]]s
    • [Refactor] use cached Array.isArray
    • [Refactor] stringify: Avoid arr = arr.concat(...), push to the existing instance (#269)
    • [Refactor] parse: only need to reassign the var once
    • [Robustness] stringify: avoid relying on a global undefined (#427)
    • [readme] remove travis badge; add github actions/codecov badges; update URLs
    • [Docs] Clean up license text so it’s properly detected as BSD-3-Clause
    • [Docs] Clarify the need for "arrayLimit" option
    • [meta] fix README.md (#399)
    • [meta] add FUNDING.yml
    • [actions] backport actions from main
    • [Tests] always use String(x) over x.toString()
    • [Tests] remove nonexistent tape option
    • [Dev Deps] backport from main
    Commits
    • 298bfa5 v6.5.3
    • ed0f5dc [Fix] parse: ignore __proto__ keys (#428)
    • 691e739 [Robustness] stringify: avoid relying on a global undefined (#427)
    • 1072d57 [readme] remove travis badge; add github actions/codecov badges; update URLs
    • 12ac1c4 [meta] fix README.md (#399)
    • 0338716 [actions] backport actions from main
    • 5639c20 Clean up license text so it’s properly detected as BSD-3-Clause
    • 51b8a0b add FUNDING.yml
    • 45f6759 [Fix] fix for an impossible situation: when the formatter is called with a no...
    • f814a7f [Dev Deps] backport from main
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump decode-uri-component from 0.2.0 to 0.2.2 in /example

    build(deps): bump decode-uri-component from 0.2.0 to 0.2.2 in /example

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • build(deps): bump decode-uri-component from 0.2.0 to 0.2.2

    build(deps): bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Expected 'end' parameter in navigation, defaulting to preview mode.

    Expected 'end' parameter in navigation, defaulting to preview mode.

    When adding latitude and longitude, a confusing warning is issued when navigate is set to true saying "Expected 'end' parameter in navigation, defaulting to preview mode.". This warning has very little to do with end being set. Whether this parameter is set isn't even checked.

    If combining latitude and longitude with navigate: true is problematic (haven't checked), the warning should say so.

    If, on the other hand, the warning should be about end, better check the existence of end.

    I was actually trying to provide both latitude and longitude (precise, known location) as well as end (readable address), and even with this warning, it works just fine, so for the moment I'm going to ignore it. However, it is confusing and should probably be fixed.

    Note: #52 has a similar title but the "fix" suggested by @Irfanwani is provably wrong, judging by the source code.

    opened by bartvanandel 0
Releases(v0.4.0)
  • v0.4.0(Aug 26, 2021)

    This release introduces support for Yandex maps, substantial refactoring, improved code coverage and testing, dependency updates, API and UX improvements, improved docs, and a new example demo.

    Changelog

    Yandex Support

    I'm happy to announce that react-native-open-maps now supports Yandex map!

    To use Yandex as a provider, simply set the options.provider to yandex. Granted, there is a few unsupported action such as directions from "here", the functionality covers a majority, if not all of what Yandex has to offer from its URL scheme.

    Reflecting back at the creation of this repository, many years ago, it was intended to provide a brainless library, where developers (mainly myself) could quickly provide mapping capabilities without ever needing to read documentation. I would have never imagined this project would be widely used as it is today, even spanning across the globe and pulling in contributions from all over the world. I'm incredibly elated by the contributions to make this happen, thus, major kudos to @nastyakitsune for tackling this!

    Code Coverage and Test

    I've refactor the entire test suite to organize the test so that all platforms are tested across intended actions. As a result, this increased the coverage of the library to 91% (previously at 70-80%) and greatly improved readability. In addition, coveralls was added to provide coverage on the readme.

    API Improvements

    Options are now all snakeCase to standardize the inputs.

    New Example Demo

    The new example demo is scaffold with the latest version of react / react-native and has a new appearance. You can find this in the example directory and a gif preview is shown on the README.

    Doc Changes

    The options table now includes which options are provider specific. In honesty, this strays from the initial intent of the project (a truely cross-compatible map linking library), and I've tried my best to prevent supporting one-off features, but it's also difficult to ignore the needs votes from issues. So we will need to put more efforts in greatly improve documentation and will need more contributions in this front, whether it's more examples or how to simplify things to prevent confusions, please submit your suggestions.

    Changes

    • [x] Bug Fix: Can't find variable: `defaultProvider" -- This occurred when the library was initiated without a map provider, as a result, the default fallback behavior wasn't functioning as intended
    • [x] Bug Fix: Warnings from non-intended map providers -- This has been fixed through a major refactor in v0.4.0, now only targeted provider map links are only created oppose to all initially
    • [x] Bug Fix: Geostringify error out creation when no latitude and longitude provided
    • [x] Enhancement: Circumvent Safari iOS -- iOS platforms will look for native maps deep link

    Let's be real, who actually reads these things.... if you are reading, feel free to say hello.

    Source code(tar.gz)
    Source code(zip)
Owner
Brandon Him
I spend my days chasing a tiny human.
Brandon Him
react-native-wheel-picker ★190 - React native cross platform picker.

react-native-wheel-picker Introduction Cross platform Picker component based on React-native. Since picker is originally supported by ios while Androi

Yu Zheng (Sam) 308 Jan 1, 2023
Tailwindcss-react-native: Use Tailwindcss in your cross platform React Native applications

tailwindcss-react-native Use Tailwindcss in your cross platform React Native applications. This library is currently stabilising for a v1 release. Fol

Mark Lawlor 1.5k Jan 2, 2023
A Cross Platform(Android & iOS) ActionSheet with a flexible api, native performance and zero dependency code for react native. Create anything you want inside ActionSheet.

react-native-actions-sheet A highly customizable cross platform ActionSheet for react native. Screenshots Features Cross Platform (iOS and Android) Na

Ammar Ahmed 1000 Jan 9, 2023
React Native template for a quick start with React Navigation5 and TypeScript. It's cross-platform runs on Android, iOS, and the web.

对此项目的规划 出于兴趣把自己做 android、ios 开发过程中经验积累沉淀一下,此工程架构会定期更新升级依赖到最新版本,并不断的积累 App 中常用组件和基础页面功能,也会不断优化代码组织架构 此项目对以下情形会有帮助 想用前端技术做 app 开发却无从下手 想在项目中运用 typescrip

Benson 6 Dec 4, 2022
Easy, cross-platform credit-card input for your React Native Project! Start accepting payment 💰 in your app today!

React Native Credit Card Input Easy (and good looking) credit-card input for your React Native Project ?? ?? Code: <CreditCardInput onChange={this._on

Sam Aryasa 1.4k Dec 26, 2022
A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sections.

react-native-modal-picker A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sectio

Dan 398 Nov 11, 2022
A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sections.

react-native-modal-selector A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sect

Peace 354 Dec 26, 2022
A cross-platform (iOS / Android), full-featured, highly customizable web browser module for React Native apps.

react-native-webbrowser A cross-platform (iOS / Android), full-featured in-app web browser component for React Native that is highly customizable. Cur

Dan 196 Nov 23, 2022
⚛ Cross-platform React Native dialogs based on the Modal component

React Native Simple Dialogs ⚛ Cross-platform React Native dialogs based on the Modal component. Features Custom Dialog Confirm Dialog Progress Dialog

Douglas Nassif Roma Junior 264 Dec 20, 2022
A cross-platform bridge that allows you to enable and disable the screen idle timer in your React Native app

react-native-idle-timer A cross-platform bridge that allows you to enable and disable the screen idle timer in your React Native app Install npm insta

Marc Shilling 160 Dec 13, 2022
React-Native cross-platform, calendar component.

React Native Calendar Datepicker Description This project aims at providing developers with a cross-platform, highly customizable, calendar date picke

Vlad-Doru Ion 84 Dec 30, 2022
A cross-platform (iOS / Android) single and multiple-choice React Native component.

react-native-multiple-choice A cross-platform (iOS / Android) single and multiple-choice React Native component. Install npm i react-native-multiple-c

Dan 67 Sep 24, 2022
Smooth and fast cross platform Material Design date and time picker for React Native Paper

Smooth and fast cross platform Material Design date and time picker for React Native Paper

webRidge 432 Dec 27, 2022
Cross Platform Material Alert and Prompt Dialogs for React Native. Imperative API, Android, IOS, Web

React Native Paper Alerts Cross Platform Material Alert and Prompt for React Native. It tries to follow the API and function signature of React Native

Arafat Zahan 13 Nov 21, 2022
An awesome and cross-platform React Native date picker and calendar component for iOS and Android

react-native-common-date-picker An awesome and cross-platform React Native date picker and calendar component for iOS and Android. This package is des

chenlong 96 Jan 2, 2023
📜 Cross platform custom ActionSheet

react-native-custom-actionsheet Cross platform ActionSheet. This component implements a custom ActionSheet and provides the same way of drawing it on

Valery Bugakov 47 Oct 21, 2021
Picker is a cross-platform UI component for selecting an item from a list of options.

@react-native-picker/picker Android iOS PickerIOS Windows MacOS Supported Versions @react-native-picker/picker react-native react-native-windows >= 2.

null 1.1k Jan 9, 2023
A Mapbox GL react native module for creating custom maps

Deprecation notice This repository is no longer actively maintained. Continued development of react-native-mapbox-gl may be found in the community dri

Nick Italiano 2.1k Jan 4, 2023
React Native Actions Sheet Picker

React Native Actions Sheet Picker A React Native component that provides a filterable select dropdown/picker. Preview Installation Guide yarn add reac

Burak Alp 74 Dec 8, 2022