C# 如何通过Windows phone sdk上的经纬度获取街道名称或地址

C# 如何通过Windows phone sdk上的经纬度获取街道名称或地址,c#,windows-phone-8,C#,Windows Phone 8,C#-如果我们知道经度和纬度,请告诉我如何获取街道名称或地址。使用反向编码,这是windows phone os版本8中sdk的一部分 反向地理编码获取纬度和经度,并返回字符串地址或这些点在地球上的位置 检查链接 而且 原始用法 ReverseGeocodeQuery reverseGeocode = new ReverseGeocodeQuery(); reverseGeocode.GeoCoordinate = new GeoCoordinate(gCordinate.Latitude, g

C#-如果我们知道经度和纬度,请告诉我如何获取街道名称或地址。

使用反向编码,这是windows phone os版本8中sdk的一部分

反向地理编码获取纬度和经度,并返回字符串地址或这些点在地球上的位置

检查链接

而且

原始用法

ReverseGeocodeQuery reverseGeocode = new ReverseGeocodeQuery();
reverseGeocode.GeoCoordinate = new GeoCoordinate(gCordinate.Latitude, gCordinate.Longitude);
reverseGeocode.QueryCompleted += reverseGeocode_QueryCompleted;
reverseGeocode.QueryAsync();

void reverseGeocode_QueryCompleted(object sender, QueryCompletedEventArgs<IList<MapLocation>> e)
{
    try
    {
        if (e.Cancelled)
        {
            txtCompleteAddress.Text = "operation was cancelled";
        }
        else if (e.Error != null)
        {
            txtCompleteAddress.Text = "Error: " + e.Error.Message;
        }
        else if (e.Result != null)
        {
            if (e.Result.Count > 0)
            {
                MapAddress geoAddress = e.Result[0].Information.Address;
                addressString1 = geoAddress.HouseNumber + " " + geoAddress.Street;
                addressString2 = geoAddress.District + ", " + geoAddress.City;
                addressString3 = geoAddress.Country;
                if (addressString1 != " ")
                    addressString1 = addressString1 + "\n";
                else
                    addressString1 = "";

                if (addressString2 != ",  ")
                    addressString2 = addressString2 + "\n";
                else
                    addressString2 = "";

                txtCompleteAddress.Text = addressString1 + addressString2 + addressString3;
            }
            else
            {
                txtCompleteAddress.Text = "no address found at that location";
            }
        }
    }
    catch
    {
        MessageBox.Show("Some error occured in converting location geo Coordinates to location address, please try again later");
    }
}
ReverseGeocodeQuery reverseGeocode=new ReverseGeocodeQuery();
reverseGeocode.GeoCoordinate=新的地理坐标(GC纵坐标.纬度,GC纵坐标.经度);
reverseGeocode.QueryCompleted+=reverseGeocode_QueryCompleted;
reverseGeocode.QueryAsync();
void reverseGeocode_QueryCompleted(对象发送方,QueryCompletedEventArgs e)
{
尝试
{
如果(如已取消)
{
txtCompleteAddress.Text=“操作已取消”;
}
否则如果(例如错误!=null)
{
txtCompleteAddress.Text=“Error:+e.Error.Message;
}
否则如果(例如,结果!=null)
{
如果(e.Result.Count>0)
{
MapAddress geoAddress=e.Result[0]。Information.Address;
addressString1=geoAddress.HouseNumber+“”+geoAddress.Street;
addressString2=geoAddress.District+“,”+geoAddress.City;
addressString3=geoAddress.Country;
如果(addressString1!=“”)
addressString1=addressString1+“\n”;
其他的
addressString1=“”;
如果(地址字符串2!=“,”)
addressString2=addressString2+“\n”;
其他的
addressString2=“”;
Text=addressString1+addressString2+addressString3;
}
其他的
{
txtCompleteAddress.Text=“在该位置未找到地址”;
}
}
}
抓住
{
MessageBox.Show(“将位置地理坐标转换为位置地址时出错,请稍后再试”);
}
}

你根本不知道这对我有多大帮助!