Windows 通用应用程序中的反向地理编码

Reverse Geocode in Windows Universal App

我有坐标,正在尝试获取地址。在 Windows Phone 8 个 Silverlight 应用程序中,我曾经使用 ReverseGeocodeQuery 来获取地址,但在 WinRT 中似乎不支持。

在 WinRT 中执行此操作的正确方法是什么,我应该使用类似的方法吗?

您可以使用MapLocationFinder。这是我经常使用的代码片段。它基本上做的是向 MapLocationFinder 发出查询并检查搜索是否成功。然后我取第一个位置并检查是否设置了 Town

你当然也可以 foreach over result.Locations 并检查每个元素,如果你愿意的话。

public static async Task<MapLocation> resolveLocationForGeopoint(Geopoint geopoint)
{
    MapLocationFinderResult result = await MapLocationFinder.FindLocationsAtAsync(geopoint);
    if (result.Status == MapLocationFinderStatus.Success)
    {
        if (result.Locations.Count != 0)
            // Check if the result is really valid
            if (result.Locations[0].Address.Town != "")
                return result.Locations[0];
    }
    return null;
}