如何在Windows手机上将经纬度值转换为地址?

3

我使用以下方法获取纬度和经度值:

 void _watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
    {


            latitude = e.Position.Location.Latitude;
            longitude = e.Position.Location.Longitude;
            MessageBox.Show("Latitude & Longitude:" + latitude + "  " + longitude);
    }

结果如下:纬度和经度:12.56 77.34

现在我想把这些值转换成相应的地址。这是否可能?请简要解释一下。谢谢。


1
使用Bing地图进行反向地理编码 http://stackoverflow.com/questions/16685088/windows-phone-reversegeocoding-to-get-address-from-lat-and-long - MatDev8
2个回答

3
首先,您的问题不够清晰,我认为您需要根据经度和纬度获取相应的地址。为此,您可以使用Bing服务,Bing提供了几个支持此功能的API。在您的情况下,您可以使用以下API:http://dev.virtualearth.net/REST/v1/Locations/47.64324%2c-122.14197?includeEntityTypes=Address,Postcode1,AdminDivision1,AdminDivision2&key={Bing Map Key}&o=json
从中可见,47.64和-122.11是我的样本地理编码。为了实现完整的功能,您需要创建一个Bing地图密钥(这里是参考链接),并将其用于{Bing Map Key}区域(不包括括号)。然后,简单的HTTP GET方法就可以解决您的问题。
                                      OR

您可以简单地使用以下方法:

   var query = new ReverseGeocodeQuery {GeoCoordinate = new GeoCoordinate(12.56, 77.34)};
   query.QueryCompleted += (s, e) =>
   {
           if(e.Error != null)
                return;

           var  address = e.Result[0].Information.Address.Street;
    };
    query.QueryAsync();

1
在Windows Phone 8中,您可以使用集成的ReverseGeocodeQuery类轻松完成此操作。例如:
string address;
ReverseGeocodeQuery query = new ReverseGeocodeQuery();
query.GeoCoordinate = new GeoCoordinate(12.56, 77.34);
query.QueryCompleted += (s, e) =>
   {
        if (e.Error != null)
            return;

        address = e.Result[0].Information.Address.Street;
    };
query.QueryAsync();

就这么简单。
然而,对于Windows Phone 7,您需要使用Bing服务

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接