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

现在我想将这些值添加到相关地址。是否可以。请作简要说明。提前致谢。

4

2 回答 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();
于 2013-09-04T12:45:44.347 回答
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 服务

于 2013-09-04T12:47:38.697 回答