2015-12-20 6 views
6

例のアプリケーションと同様のGoogle Places API予測を使用します。私たちが使用して予測場所の詳細を取得した結果の選択:Googleプレイスからアドレスを解析する方法Android用のGeoDataApi(address_components missing)

Places.GeoDataApi.getPlaceById(mGoogleApiClient, placeId); 

これは正常に動作し、私の問題は、結果をアドレスとして、単なる文字列が含まれていることです。

"address_components" : [ 
    { 
     "long_name" : "522", 
     "short_name" : "522", 
     "types" : [ "street_number" ] 
    }, 
    { 
     "long_name" : "Overtoom", 
     "short_name" : "Overtoom", 
     "types" : [ "route" ] 
    }, 
    { 
     "long_name" : "Amsterdam-West", 
     "short_name" : "Amsterdam-West", 
     "types" : [ "sublocality_level_1", "sublocality", "political" ] 
    }, 
    { 
     "long_name" : "Amsterdam", 
     "short_name" : "Amsterdam", 
     "types" : [ "locality", "political" ] 
    }, 
    { 
     "long_name" : "Amsterdam", 
     "short_name" : "Amsterdam", 
     "types" : [ "administrative_area_level_2", "political" ] 
    }, 
    { 
     "long_name" : "Noord-Holland", 
     "short_name" : "NH", 
     "types" : [ "administrative_area_level_1", "political" ] 
    }, 
    { 
     "long_name" : "Nederland", 
     "short_name" : "NL", 
     "types" : [ "country", "political" ] 
    }, 
    { 
     "long_name" : "1054", 
     "short_name" : "1054", 
     "types" : [ "postal_code_prefix", "postal_code" ] 
    } 
    ], 

をしかし、Android上でAPIを使用している場合address_components内の上記情報が欠落しています。

JS version of the APIを使用して、その結果がこの含まれています。 Google places APIを使用してAndroidでこの情報を取得するにはどうすればよいですか?

+0

をあなたはそれを解決しました?私は同じissuseを持っている??? –

+0

いいえ、私はこの情報のためにjs apiを使用することを余儀なくされています。 –

+2

Geocoder.getFromLocationName(String locationName、int maxResults) – hawa11

答えて

7

残念ながら答えは「できません」です。

Googleは、そのAPIのAndroid実装に構造化された応答データを提供していません。

あなたはアドレステキストを解析してみてください可能性がありますが、my answer to a related postあたりのように、これは些細なほど遠いです:

  1. あなたは、その文字列を解析する巧妙な方法を考え出します。残念ながら、実際の通り/郊外/町/県の構造は、 の異なるエリアで一貫していません(例えば、南アフリカのケープタウンには、南アフリカのヨハネスブルグに異なる 文の構造があります)。だから、あなたの構文解析の の規則は非常に巧妙である必要があります。
  2. 異なるGoogle APIを使用しています。 JavaScript APIは、関連するコールの構造化データを提供します。残念ながら、このテクニックを使用しないように をお勧めします。

私の同僚は、グーグルで、この問題をログに記録しています

+0

両方の質問に答える良い仕事:) –

関連する問題