using System.Collections.Generic; using System.Threading.Tasks; namespace Xamarin.Forms.Maps.Tizen { internal class GeocoderBackend { public static void Register() { Geocoder.GetPositionsForAddressAsyncFunc = GetPositionsForAddressAsync; Geocoder.GetAddressesForPositionFuncAsync = GetAddressesForPositionAsync; } public static async Task> GetPositionsForAddressAsync(string address) { var request = FormsMaps.MapService.CreateGeocodeRequest(address); var positions = new List(); foreach (var result in await request.GetResponseAsync()) positions.Add(new Position(result.Latitude, result.Longitude)); return positions; } public static async Task> GetAddressesForPositionAsync(Position position) { var request = FormsMaps.MapService.CreateReverseGeocodeRequest(position.Latitude, position.Longitude); var addresses = new List(); foreach (var result in await request.GetResponseAsync()) addresses.Add(result.Freetext); return addresses; } } }