可能重复:
如何使用 wp7 获取 GPS 坐标的地址名称
我正在开发一个 WP8 应用程序。在我的应用程序中,我想从其地理坐标中获取特定位置的详细信息,例如位置名称。我可以得到设备当前的 gps 位置。但它只提供地理坐标。是否有任何服务可以从地理坐标中提供位置详细信息。请帮我。
可能重复:
如何使用 wp7 获取 GPS 坐标的地址名称
我正在开发一个 WP8 应用程序。在我的应用程序中,我想从其地理坐标中获取特定位置的详细信息,例如位置名称。我可以得到设备当前的 gps 位置。但它只提供地理坐标。是否有任何服务可以从地理坐标中提供位置详细信息。请帮我。
您要查找的内容称为反向地理编码。将地理坐标转换为地址。
如前所述,您可以在 WP7 上使用 Google 和 Bing 来实现这一目标。在 windows phone 8 上,支持地理编码和反向地理编码作为框架的一部分。您可以在这篇诺基亚介绍文章(在“地理编码”下)中阅读对地理编码的概述,并在另一篇诺基亚文章中阅读更全面的概述。
这是从坐标转换为地址的反向地理编码的示例:
private void Maps_ReverseGeoCoding(object sender, RoutedEventArgs e)
{
ReverseGeocodeQuery query = new ReverseGeocodeQuery()
{
GeoCoordinate = new GeoCoordinate(37.7951799798757, -122.393819969147)
};
query.QueryCompleted += query_QueryCompleted;
query.QueryAsync();
}
void query_QueryCompleted(object sender, QueryCompletedEventArgs<IList<MapLocation>> e)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("Ferry Building Geocoding results...");
foreach (var item in e.Result)
{
sb.AppendLine(item.GeoCoordinate.ToString());
sb.AppendLine(item.Information.Name);
sb.AppendLine(item.Information.Description);
sb.AppendLine(item.Information.Address.BuildingFloor);
sb.AppendLine(item.Information.Address.BuildingName);
sb.AppendLine(item.Information.Address.BuildingRoom);
sb.AppendLine(item.Information.Address.BuildingZone);
sb.AppendLine(item.Information.Address.City);
sb.AppendLine(item.Information.Address.Continent);
sb.AppendLine(item.Information.Address.Country);
sb.AppendLine(item.Information.Address.CountryCode);
sb.AppendLine(item.Information.Address.County);
sb.AppendLine(item.Information.Address.District);
sb.AppendLine(item.Information.Address.HouseNumber);
sb.AppendLine(item.Information.Address.Neighborhood);
sb.AppendLine(item.Information.Address.PostalCode);
sb.AppendLine(item.Information.Address.Province);
sb.AppendLine(item.Information.Address.State);
sb.AppendLine(item.Information.Address.StateCode);
sb.AppendLine(item.Information.Address.Street);
sb.AppendLine(item.Information.Address.Township);
}
MessageBox.Show(sb.ToString());
}
当我在 WP8 上运行此代码段时,我收到以下消息框:
是的,您可以使用 bing API 来获取特定位置的详细信息。 http://msdn.microsoft.com/en-us/library/ff701722.aspx http://stackoverflow.com/questions/9109996/getting-location-name-from-longitude-and-latitude-in-bingmap
希望这会有所帮助。
开尔文