我使用
获取纬度和经度值 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
现在我希望这些价值到相关地址。可能吗。请简要说明一下。提前致谢。
答案 0 :(得分:3)
首先,你的问题不明确,我认为你的要求来自这个lat / long你需要获取相应的地址。为此,您可以使用Bing服务,Bing提供了几个支持相同的API。在您的情况下,您可以使用以下API
由此47.64和-122.11是我的样本地理编码,为了实现完整的功能,您需要创建一个Bing Map键(here is the link for your reference )
创建密钥后,在{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 :(得分: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 services。