From 101a25b1a5c0537088d469b5cce1b853616ec823 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 9 Feb 2020 19:27:28 +0100 Subject: [PATCH] info: show coordinates when address fetch failed --- lib/widgets/fullscreen/info/location_section.dart | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/widgets/fullscreen/info/location_section.dart b/lib/widgets/fullscreen/info/location_section.dart index 2ae2ab99f..b25020f9f 100644 --- a/lib/widgets/fullscreen/info/location_section.dart +++ b/lib/widgets/fullscreen/info/location_section.dart @@ -1,6 +1,7 @@ import 'package:aves/model/image_entry.dart'; import 'package:aves/model/settings.dart'; import 'package:aves/utils/android_app_service.dart'; +import 'package:aves/utils/geo_utils.dart'; import 'package:aves/widgets/fullscreen/info/info_page.dart'; import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; @@ -63,6 +64,12 @@ class _LocationSectionState extends State { final showMap = (_loadedUri == entry.uri) || (entry.hasGps && widget.visibleNotifier.value); if (showMap) { _loadedUri = entry.uri; + String location; + if (entry.isLocated) { + location = entry.addressDetails.addressLine; + } else if (entry.hasGps) { + location = toDMS(entry.latLng).join(', '); + } return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -80,10 +87,10 @@ class _LocationSectionState extends State { geoUri: entry.geoUri, initialZoom: settings.infoMapZoom, ), - if (entry.isLocated) + if (location.isNotEmpty) Padding( padding: const EdgeInsets.only(top: 8), - child: InfoRow('Address', entry.addressDetails.addressLine), + child: InfoRow('Address', location), ), ], );