diff options
Diffstat (limited to 'Xamarin.Forms.Maps.Tizen/MapRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Maps.Tizen/MapRenderer.cs | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/Xamarin.Forms.Maps.Tizen/MapRenderer.cs b/Xamarin.Forms.Maps.Tizen/MapRenderer.cs index 23252c44..f3039e1c 100644 --- a/Xamarin.Forms.Maps.Tizen/MapRenderer.cs +++ b/Xamarin.Forms.Maps.Tizen/MapRenderer.cs @@ -151,8 +151,8 @@ namespace Xamarin.Forms.Maps.Tizen int x = Control.Geometry.X; int y = Control.Geometry.Y; - Geocoordinates ul = Control.ScreenToGeolocation(new ElmSharp.Point { X = x, Y = y}); - Geocoordinates ur = Control.ScreenToGeolocation(new ElmSharp.Point { X = x + width, Y = y}); + Geocoordinates ul = Control.ScreenToGeolocation(new ElmSharp.Point { X = x, Y = y }); + Geocoordinates ur = Control.ScreenToGeolocation(new ElmSharp.Point { X = x + width, Y = y }); Geocoordinates ll = Control.ScreenToGeolocation(new ElmSharp.Point { X = x, Y = y + height }); Geocoordinates lr = Control.ScreenToGeolocation(new ElmSharp.Point { X = x + width, Y = y + height }); @@ -253,17 +253,34 @@ namespace Xamarin.Forms.Maps.Tizen Control.ZoomLevel = 13; } } - void UpdateIsShowingUser() + + bool IsLocatorSupported() { - if (Element.IsShowingUser) + try { if (!LocatorHelper.IsEnabledType(LocationType.Hybrid)) { Log.Error("Failed to start Locator. Please check if the Location setting on your device is On."); + return false; + } + } + catch (NotSupportedException) + { + Log.Error("Platform Not Supported"); + return false; + } + return true; + } + + void UpdateIsShowingUser() + { + if (Element.IsShowingUser) + { + if (!IsLocatorSupported()) + { Element.IsShowingUser = false; return; } - _locator.Value.LocationChanged += OnLocationChanged; if (!_isLocatorStarted) { |