showOnMap static method

Future<bool> showOnMap(
  1. double latitude,
  2. double longitude, {
  3. String? label,
  4. UMapApp app = UMapApp.system,
})

Implementation

static Future<bool> showOnMap(double latitude, double longitude, {String? label, UMapApp app = UMapApp.system}) {
  final String q = "$latitude,$longitude";
  final String named = label == null ? q : "$q(${Uri.encodeComponent(label)})";
  final String web = "https://www.google.com/maps/search/?api=1&query=$q";
  if (kIsWeb || Platform.isWindows || Platform.isLinux) return open(web);
  if (Platform.isAndroid) {
    return switch (app) {
      UMapApp.waze => open("https://waze.com/ul?ll=$q", androidPackage: "com.waze"),
      _ => open("geo:$q?q=$named", androidPackage: _androidMapPackage(app)),
    };
  }
  return switch (app) {
    UMapApp.google => _openFirst(<String>["comgooglemaps://?q=$q&center=$q", web]),
    UMapApp.waze => _openFirst(<String>["waze://?ll=$q", "https://waze.com/ul?ll=$q"]),
    _ => open("maps://?ll=$q&q=${Uri.encodeComponent(label ?? q)}"),
  };
}