Wpf Bing地图API:返回信息为;地址、城市、国家、邮政编码”;
我在WPF DevExpress地图上使用Bing Maps API来返回特定地理位置(经度、纬度)的信息 我需要的是地址、邮政编码、城市和国家作为查询之外的单独项目 问题是Bing Maps(通过DevExpress.Xpf.Map.GeocodeRequestResult)以非唯一格式返回地址Wpf Bing地图API:返回信息为;地址、城市、国家、邮政编码”;,wpf,devexpress,bing-maps,Wpf,Devexpress,Bing Maps,我在WPF DevExpress地图上使用Bing Maps API来返回特定地理位置(经度、纬度)的信息 我需要的是地址、邮政编码、城市和国家作为查询之外的单独项目 问题是Bing Maps(通过DevExpress.Xpf.Map.GeocodeRequestResult)以非唯一格式返回地址字符串,具体取决于位置(我怀疑是国家/地区)。例如,地址字符串可能返回为: 地址、城市、国家、邮政编码(例如在俄罗斯) 地址,邮政城市(德国) 地址,城市,邮编(美国) ……名单还在继续 如何从Bing
字符串
,具体取决于位置(我怀疑是国家/地区)。例如,地址字符串
可能返回为:
如何从Bing地图查询中正确地获取地址、邮政编码、城市和国家,而不依赖于返回的表单?我对DevExpress中的地图不太熟悉,但我知道您可以从Bing地图中获取结构化地址对象。如果您使用Bing地图REST服务,您可以对坐标进行反向地理编码,并使其返回结构化地址。由于您使用的是WPF,您可以在此处找到有关如何使用.NET中Bing Maps REST服务的文档: 以下是GetResponse方法的更新版本:
private async Task<Response> GetResponse(Uri uri)
{
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
var response = await client.GetAsync(uri);
using (var stream = await response.Content.ReadAsStreamAsync())
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Response));
return ser.ReadObject(stream) as Response;
}
}
Response r = await GetResponse(new Uri("YOUR REST service request"));
if (r != null &&
r.ResourceSets != null &&
r.ResourceSets.Length > 0 &&
r.ResourceSets[0].Resources != null &&
r.ResourceSets[0].Resources.Length > 0)
{
var location = r.ResourceSets[0].Resources[0] as BingMapsRESTService.Common.JSON.Location;
var address = location.Address;
}