Обратное геокодирование в uwp и c # - PullRequest
0 голосов
/ 20 сентября 2019

Хорошо, поэтому я читаю документы Microsoft для обратного геокодирования

Итак, я пытаюсь получить код города и страны, я следую этому

 // The location to reverse geocode.
   BasicGeoposition location = new BasicGeoposition();
   location.Latitude = 47.643;
   location.Longitude = -122.131;
   Geopoint pointToReverseGeocode = new Geopoint(location);

   // Reverse geocode the specified geographic location.
   MapLocationFinderResult result =
         await MapLocationFinder.FindLocationsAtAsync(pointToReverseGeocode);

   // If the query returns results, display the name of the town
   // contained in the address of the first result.
   if (result.Status == MapLocationFinderStatus.Success)
   {
      tbOutputText.Text = "town = " +
            result.Locations[0].Address.Town; 

Я пытаюсь деэто в моем приложении, я знаю, что адрес, есть те 2 свойства, которые мне нужны (https://docs.microsoft.com/en-us/uwp/api/Windows.Services.Maps.MapAddress) В настоящее время мое приложение получает мою позицию и мои координаты, но как я могу заставить работать обратный геокод.

public MainPage()
        {
            this.InitializeComponent();

          var pos = GetCityData();
        }

        private async Task<string> GetCityData() {
            var citydata = await LocationManager.GetGeopositionAsync();

            BasicGeoposition geoposition = new BasicGeoposition() {
                Latitude = citydata.Coordinate.Point.Position.Latitude, Longitude = citydata.Coordinate.Point.Position.Longitude
            };
            Geopoint geopoint = new Geopoint(geoposition);

            MapLocationFinderResult finderResult = await MapLocationFinder.FindLocationsAtAsync(geopoint);

            return $"{finderResult.Locations[0].Address.Town},{finderResult.Locations[0].Address.CountryCode}";

1 Ответ

0 голосов
/ 20 сентября 2019

Пожалуйста, отметьте finderResult.Status, возможно, это InvalidCredentials.Если вы не можете получить результат обратного геокодирования, возможно, это связано с тем, что вы не добавили Токен службы карт.

Перейдите на здесь и создайтеключ.Затем добавьте его в свое приложение:

public MainPage()
{
    this.InitializeComponent();
    MapService.ServiceToken = "your_token";
}

Это документ о запросе ключа аутентификации.

С уважением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...