0

これは私のジオコーディングコードの一部です。選択した場所の国のみを表示したいのですが、すべての住所コンポーネントが表示されます。私の問題は、住所コンポーネントオブジェクトを指定できないことです。ドキュメントに書かれている方法がありますが、私にはわかりませんでした。私のためにそれを行うことができますか。

 if (geocoder) {
                geocoder.geocode({'latLng': latlng}, function(results, status) {
                    if (status == google.maps.GeocoderStatus.OK) {
                        var str = "";
                        $.each(results, function(){
                            str += "address components: <ul>"
                            $.each(this.address_components, function(){
                                str +="<li>"+this.types.join(", ")+": "+this.long_name+"</li>";
                            });
                            str +="</ul>";
                        });
                        $("#geocode_info").html(str);
4

2 に答える 2

3

来る応答からあなたは国だけが必要だと思います。
いくつかの作業が必要です。国名のjsonを解析する必要があります。ジオコーディングの応答については、以下を試してください。

for(var addComponent in json.results[0].address_components){
    var component = json.results[0].address_components[addComponent];
    for(typeIndex in component.types ){
        if(component.types[typeIndex]=='country') {
            console.log(component.long_name);
        }
    }   
}
于 2010-12-25T03:43:40.293 に答える
0

コードを再確認することをお勧めします。一部のアドレスコンポーネントでタイプが欠落しているように見えます。

http://maps.google.com/maps/api/geocode/xml?address=3000+Australia&sensor=false

于 2012-09-21T02:24:57.740 に答える