如何在bing map中使用gps获取当前城市名称

时间:2012-05-30 09:23:25

标签: windows-phone-7 bing-maps pushpin

我在我的应用程序中使用了bing map,在那里我使用gps找到当前位置,我也使用geoco-ordinatewatcher获取坐标并使用图钉固定当前位置。但我的问题是,我想获得图钉指向的当前城市和国家名称。我无法使用map.center属性。任何人都可以帮助我..提前感谢...

3 个答案:

答案 0 :(得分:1)

以下博客文章可以为您提供帮助: -

http://www.nickharris.net/2010/12/how-to-reverse-geocode-a-location-to-an-address-on-windows-phone-7/

不幸的是,CivicAddressResolver目前尚未在Windows Phone上实现,因此您必须使用基于在线的解决方案。

答案 1 :(得分:1)

请参考以下代码

ReverseGeocodeRequest reverseGeocodeRequest = new ReverseGeocodeRequest();             //使用有效的Bing Maps密钥设置凭据             reverseGeocodeRequest.Credentials = new GeoCodeService.Credentials();             reverseGeocodeRequest.Credentials.ApplicationId =“你的bing map key”;

        // Set the point to use to find a matching address
        GeoCodeService.Location point = new GeoCodeService.Location();
        point.Latitude = Your lat;
        point.Longitude = Your lng;

        reverseGeocodeRequest.Location = point;

        // Make the reverse geocode request
        GeocodeServiceClient geocodeService = new GeocodeServiceClient("BasicHttpBinding_IGeocodeService");
        geocodeService.ReverseGeocodeCompleted += new EventHandler<ReverseGeocodeCompletedEventArgs>(geocodeService_ReverseGeocodeCompleted);
        geocodeService.ReverseGeocodeAsync(reverseGeocodeRequest);

void geocodeService_ReverseGeocodeCompleted(object sender,ReverseGeocodeCompletedEventArgse)         {
                string text1;

            GeocodeResponse geocodeResponse = e.Result;
            System.Diagnostics.Debug.WriteLine("GeoCode Response is :"+geocodeResponse);
            if (geocodeResponse.Results.Count() > 0)
               text1  = geocodeResponse.Results[0].DisplayName;
            else
                text1 = "No Results found";
            textBlock1.Text = text1;
            System.Diagnostics.Debug.WriteLine("Location is :"+text1);
    }

答案 2 :(得分:0)

无法从设备上的纬度/经度坐标解析位置 为此,将要求所有地点的数据库随设备一起进行查找。这样的数据库将是巨大的,并且存在更新的问题。