Я пытаюсь получить координаты, хранящиеся в модели адреса. Я использую API Google Maps для Chadly/Geocoding.net, чтобы получить координаты, но для этого требуется асинхронность, и я никогда не использовал асинхронизацию внутри модели и у меня не получается заставить ее работать.
Это выкидывает мне эту ошибку
"Не удалось неявно преобразовать тип" Geocoding.Location "в"
System.Threading.Tasks.Task<Geocoding.Location>
"
Что-нибудь особенное, что я должен сделать, чтобы заставить это работать?
public string FullAddress
{
get
{
return Address + " " + City + " " + State + "" + ZipCode;
}
}
public async Task<Geocoding.Location> Coordinates
{
get
{
IEnumerable<Address> addresses = await geocoder.GeocodeAsync(FullAddress);
return addresses.First().Coordinates;
}
}
Coordinates
должны быть преобразованы в метод. Вы не можете иметь асинхронные свойства
public async Task<Geocoding.Location> GetCoordinates(){
IEnumerable<Address> addresses = await geocoder.GeocodeAsync(FullAddress);
return addresses.First().Coordinates;
}
к сожалению, вы не можете использовать асинхронный метод получения свойств в С#.
Просто переключите его на метод, и он будет работать нормально.
public async Task<Geocoding.Location> GetCoordinates()
{
IEnumerable<Address> addresses = await geocoder.GeocodeAsync(FullAddress);
return addresses.First().Coordinates;
}