open method

Future<void> open({
  1. required BuildContext context,
  2. required double latitude,
  3. required double longitude,
})

Implementation

Future<void> open({
  required BuildContext context,
  required double latitude,
  required double longitude,
}) async {
  final appleUrl = appleMapsUrlBuilder(latitude, longitude);
  final googleUrl = googleMapsUrlBuilder(latitude, longitude);

  try {
    if (Platform.isIOS) {
      if (await canLaunchUrl(appleUrl)) {
        await launchUrl(appleUrl, mode: LaunchMode.externalApplication);
      } else {
        if (context.mounted) {
          displayErrorSnack(context: context, message: errorMessage);
        }
      }
    } else {
      if (await canLaunchUrl(googleUrl)) {
        await launchUrl(googleUrl, mode: LaunchMode.externalApplication);
      } else {
        if (context.mounted) {
          displayErrorSnack(context: context, message: errorMessage);
        }
      }
    }
  } catch (e) {
    if (context.mounted) {
      displayErrorSnack(context: context, message: errorMessage);
    }
  }
}