我在我的 Web 应用程序中使用 Bing Maps SOAP 服务、GeocodeService来对地图上的一个点进行反向地理编码(即从经度和纬度获取国家名称)。我需要获取 Web 服务可以返回的所有确切国家/地区名称。我试图从这里获取所有国家/地区名称,但例如在 Web 服务中返回“FYRO 马其顿”的“马其顿,前南斯拉夫共和国”。由于我需要将它们存储在数据库中,因此有没有办法获取 Web 服务可以返回的所有确切国家名称?
问问题
2451 次
1 回答
0
蛮力?(你可能会想念梵蒂冈城,但我希望你会得到其他的,它也会花很多时间尝试对海洋进行地理编码)
GeoServiceReference.GeocodeServiceClient client = new GeoServiceReference.GeocodeServiceClient();
var countries = new List<string>();
for (double lat = 0; lat < 360; lat+=0.1)
for(double lon = 0; lon < 360; lon+=0.1)
{
var result = client.ReverseGeocode(new GeoServiceReference.ReverseGeocodeRequest
{
Location = new GeoServiceReference.Location
{
Latitude = lat,
Longitude = lon
}
});
if (!countries.Contains(result.Results.First().Address.CountryRegion))
{
Console.WriteLine(result.Results.First().Address.CountryRegion);
countries.Add(result.Results.First().Address.CountryRegion);
}
}
于 2012-05-11T10:31:16.703 回答