summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Maps/Geocoder.cs
blob: e5d6d886fa7f9423730442cba539e7e5bb6e8a1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Xamarin.Forms.Maps
{
	public class Geocoder
	{
		internal static Func<string, Task<IEnumerable<Position>>> GetPositionsForAddressAsyncFunc;

		internal static Func<Position, Task<IEnumerable<string>>> GetAddressesForPositionFuncAsync;

		public Task<IEnumerable<string>> GetAddressesForPositionAsync(Position position)
		{
			if (GetAddressesForPositionFuncAsync == null)
				throw new InvalidOperationException("You MUST call Xamarin.FormsMaps.Init (); prior to using it.");
			return GetAddressesForPositionFuncAsync(position);
		}

		public Task<IEnumerable<Position>> GetPositionsForAddressAsync(string address)
		{
			if (GetPositionsForAddressAsyncFunc == null)
				throw new InvalidOperationException("You MUST call Xamarin.FormsMaps.Init (); prior to using it.");
			return GetPositionsForAddressAsyncFunc(address);
		}
	}
}