Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Пространство Xamarin.Forms.Maps имен предоставляет Geocoder класс, который преобразует между строковыми адресами и координатами широты и долготы, хранящимися в Position объектах. Дополнительные сведения о структуре см. в Position разделе "Положение карты" и "Расстояние".
Примечание.
Альтернативный API геокодирования доступен в Xamarin.Essentials. Xamarin.EssentialsGeocoding API предлагает структурированные данные адресов при геокодирования адресов, а не строки, возвращаемые этим API. Дополнительные сведения см. в разделе Xamarin.Essentials:Геокодирование.
Географический код адреса
Адрес улицы можно закодировать в координатах широты и долготы, создав Geocoder экземпляр и вызвав GetPositionsForAddressAsync метод в экземпляре Geocoder :
using Xamarin.Forms.Maps;
// ...
Geocoder geoCoder = new Geocoder();
IEnumerable<Position> approximateLocations = await geoCoder.GetPositionsForAddressAsync("Pacific Ave, San Francisco, California");
Position position = approximateLocations.FirstOrDefault();
string coordinates = $"{position.Latitude}, {position.Longitude}";
Метод GetPositionsForAddressAsync принимает string аргумент, представляющий адрес, и асинхронно возвращает коллекцию Position объектов, которые могут представлять адрес.
Обратный геокод для адреса
Координаты широты и долготы можно изменить в адрес улицы, создав Geocoder экземпляр и вызвав GetAddressesForPositionAsync метод в экземпляре Geocoder :
using Xamarin.Forms.Maps;
// ...
Geocoder geoCoder = new Geocoder();
Position position = new Position(37.8044866, -122.4324132);
IEnumerable<string> possibleAddresses = await geoCoder.GetAddressesForPositionAsync(position);
string address = possibleAddresses.FirstOrDefault();
Метод GetAddressesForPositionAsync принимает Position аргумент, состоящий из координат широты и долготы, и асинхронно возвращает коллекцию строк, представляющих адреса вблизи позиции.