Skip to content

App location type support

Dave Alden edited this page Mar 25, 2018 · 11 revisions

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 the launchModeAppleMaps option to the navigate() 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 the launchModeAppleMaps option to the navigate() 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.
Clone this wiki locally