1

次の形式の座標のセットがあります

(-33.9,18.6)

それらのコーディネイトの最寄りの町または国の名前を取得するにはどうすればよいですか?Javascriptが含まれると思いますが、必要に応じてPHPも使用できますか?

編集:Google逆ジオコーダーを試していますが、問題があります。次のコードは、それらの例の1つとまったく同じですが、まったく実行されていないようです...理由は何ですか?

<script type="text/javascript" charset="utf-8">
            function reverseGeocode(lat,lon){

                var geocoder = new GClientGeocoder();
                var latlng = new GLatLng(lat, lon);
                geocoder.getLocations(latlng, function(addresses) {
                    alert(addresses);
                });

            }
        </script>
4

4 に答える 4

1

googleには、(逆)ジオコーディングを実行するために呼び出すことができるWebサービスがあります。これは、完全なjavascriptapiを使用するよりもはるかに軽量です。

v2の例:http: //maps.google.com/maps/geo?q = 51,4&sensor = false&output = json&key = insert_your_api_key_here&callback = parseme

およびv3の場合:http: //maps.google.com/maps/api/geocode/json?latlng = 51,4&sensor = false&callback = parseme

どちらの場合も、json応答(javascriptオブジェクト)を受け取ります。違いは、現在非推奨となっているv2では、APIキーを提供する必要があり、コールバック(クロスサイトajaxの良さのため)を使用できることです。 v3でサポートされなくなりました(ただし、APIキーはもう必要ありません)。

于 2010-04-11T17:28:17.257 に答える
0

APIキーに登録しましたか?

また、特定のエラーメッセージはありますか?

于 2010-04-10T00:25:00.313 に答える
0

GoogleMapsAPIにはjavascriptの例があります。

http://code.google.com/apis/maps/documentation/services.html#ReverseGeocoding

于 2010-04-09T23:47:22.770 に答える
0

なんとか機能させることができたので、これが私がしたことです:

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=INSERTAPIKEYHERE" type="text/javascript"></script>
function reverseGeocode(latitude,longitude){

            var geocoder = new GClientGeocoder();
            var latlng = new GLatLng(latitude, longitude);

            geocoder.getLocations(latlng, function(addresses) {
                var address = addresses.Placemark[0].address;
                var country = addresses.Placemark[0].AddressDetails.Country.CountryName;
                var locality = addresses.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName;

                alert(address);
            });
        }
于 2010-04-10T01:43:52.017 に答える