1

我在我的 Web 应用程序中使用 Bing Maps SOAP 服务、GeocodeService来对地图上的一个点进行反向地理编码(即从经度和纬度获取国家名称)。我需要获取 Web 服务可以返回的所有确切国家/地区名称。我试图从这里获取所有国家/地区名称,但例如在 Web 服务中返回“FYRO 马其顿”的“马其顿,前南斯拉夫共和国”。由于我需要将它们存储在数据库中,因此有没有办法获取 Web 服务可以返回的所有确切国家名称?

4

1 回答 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 回答