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
- 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
- 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
- Bug Fix: Geostringify error out creation when no latitude and longitude provided
- 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.