-
-
Notifications
You must be signed in to change notification settings - Fork 131
App location type support
The following table details which types of location input are supported natively by which apps.
If the location input type passed to the plugin is not supported by the target app, the plugin will attempt to geocode/reverse-geocode the input as appropriate to obtain the location is the necessary format. This requires the use of an online service, so if the user's device is not connected to the internet, an error will be raised instead of launching the app.
- An "address" e.g. "Buckingham Palace, London, UK"
- A "lat/lon" co-ordinate pair e.g. "52.345,-4.567"
Platform | App | Address | Lat/Lon |
---|---|---|---|
Android | Google Maps (Map mode) | X | X |
Android | Google Maps (Turn-by-turn mode) | X | X |
Android | Waze | X | X |
Android | CityMapper | [3] | X |
Android | Uber | X | X |
Android | Yandex | X | |
Android | Sygic | X | |
Android | HERE Maps | X | |
Android | Moovit | X | |
Android | Lyft | X | |
Android | MAPS.ME | X | |
Android | Cabify | X | |
Android | Baidu Maps | X | X |
Android | 99 Taxi | X | |
Android | Gaode | X | |
iOS | Apple Maps - URI scheme [1] | X | X |
iOS | Apple Maps - MapKit class [2] | X | |
iOS | Google Maps | X | X |
iOS | Waze | X | |
iOS | Citymapper | [3] | X |
iOS | Navigon | X | |
iOS | Transit App | X | |
iOS | Yandex | X | |
iOS | Uber | X | |
iOS | Tomtom | X | |
iOS | Sygic | X | |
iOS | HERE Maps | X | |
iOS | Moovit | X | |
iOS | Lyft | X | |
iOS | MAPS.ME | X | |
iOS | Cabify | X | |
iOS | Baidu Maps | X | X |
iOS | 99 Taxi | X | |
iOS | Gaode | X | |
Windows | Bing Maps | X | X |
[1]: By default, the plugin uses the Apple Maps URI scheme as the launch method.
- This is because the native MapKit class launch method doesn't support direct launching using an address string without first geocoding it.
- But the MapKit class launch method supports additional launch options which are not available via the URI scheme launch method.
- Specified by passing
launchnavigator.LAUNCH_MODE.URI_SCHEME
as thelaunchModeAppleMaps
option to thenavigate()
function.
[2]: When using the MapKit class to launch Apple Maps, it only supports launching with an address which is formatted as an address dictionary, in which the address is split into known fields such as street, city and state.
- Given an input address formatted as a single string, the only way to achieve this is to use the remote geocoding service.
- Hence direct/offline input of an address to launch Apple Maps using the MapKit class launch method is not supported by this plugin.
- However, the MapKit launch method provides additional launch options which are not available via the URI scheme launch method.
- Specified by passing
launchnavigator.LAUNCH_MODE.MAPKIT
as thelaunchModeAppleMaps
option to thenavigate()
function.
[3]: Despite the documented URL scheme, Citymapper on both Android and iOS no longer supports native input of location as an address (see #180).
- Passing in an address (without accompanying coordinates) caused Citymapper to fail to populate the location fields.
- This was last tested on Android v7.30.0 and iOS v6.26.2.
- Passing in location as a coordinate pair still works, so the plugin will attempt to geocode any input address to a lat/lon coordinate pair to be passed to Citymapper
- For reference, the last version of Citymapper that was tested where native address input successfully worked was v5.15 in March 2016.