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 に答える