summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Maps.Tizen/FormsMaps.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Maps.Tizen/FormsMaps.cs')
-rwxr-xr-xXamarin.Forms.Maps.Tizen/FormsMaps.cs54
1 files changed, 42 insertions, 12 deletions
diff --git a/Xamarin.Forms.Maps.Tizen/FormsMaps.cs b/Xamarin.Forms.Maps.Tizen/FormsMaps.cs
index b41b50d8..0fd7029c 100755
--- a/Xamarin.Forms.Maps.Tizen/FormsMaps.cs
+++ b/Xamarin.Forms.Maps.Tizen/FormsMaps.cs
@@ -1,19 +1,49 @@
-using Xamarin.Forms.Maps.Tizen;
+using System.Diagnostics;
+using Tizen.Maps;
+using Xamarin.Forms.Maps.Tizen;
namespace Xamarin
{
- public static class FormsMaps
- {
- public static bool IsInitialized { get; private set; }
+ public static class FormsMaps
+ {
+ static MapService _mapService = null;
- public static void Init()
- {
- if (IsInitialized)
- return;
+ static string ProviderName { get; set; }
- IsInitialized = true;
+ static string AuthenticationToken { get; set; }
- GeocoderBackend.Register();
- }
- }
+ internal static bool IsInitialized { get; private set; }
+
+ internal static MapService MapService
+ {
+ get
+ {
+ Debug.Assert(_mapService != null, "FormsMaps is not initialized");
+ return _mapService;
+ }
+ }
+
+ public static void Init(string provider, string authenticationToken)
+ {
+ ProviderName = provider;
+ AuthenticationToken = authenticationToken;
+ Init();
+ }
+
+ internal static async void Init()
+ {
+ if (IsInitialized)
+ return;
+ var requestResult = await MapService.RequestUserConsent(ProviderName);
+ if (requestResult)
+ {
+ _mapService = new MapService(ProviderName, AuthenticationToken);
+ if (_mapService != null)
+ {
+ GeocoderBackend.Register();
+ IsInitialized = true;
+ }
+ }
+ }
+ }
} \ No newline at end of file