4

Android用にPlaces.GeoDataApiを使用しています。リクエストを実行しているデバイスの場所によって検索結果が異なります。私は境界内に一貫して位置する結果が必要です。私はgetAutocompletePredictionsリクエストでセットアップがどこにあるのかわかりません。私が行方不明のものはありますか?Places.GeoDataApi.getAutocompletePredictionsを境界内にのみ取得するにはどうすればよいですか?

私はGoogleApiClientと場所APIを通じ使用してアドレス/場所の自動補完候補を取得:

Places.GeoDataApi.getAutocompletePredictions() 

方法はGoogleApiClientオブジェクト、オートコンプリートに文字列を必要とし、LatLngBoundsは、検索範囲を制限するオブジェクト。これは私の使用法は次のようになります。使用中の

LatLngBounds bounds = new LatLngBounds(new LatLng(38.46572222050097, -107.75668023304138),new LatLng(39.913037779499035, -105.88929176695862)); 


GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(LocationServices.API) 
      .addApi(Places.GEO_DATA_API) 
      .build(); 


PendingResult<AutocompletePredictionBuffer> results = 
Places.GeoDataApi.getAutocompletePredictions(googleApiClient, "Starbucks", bounds, null); 

バージョン:com.google.android.gms:遊ぶ - サービス - 場所:8.3.0

ドキュメント: https://developers.google.com/places/android/autocomplete

+0

ケースが開かれました: https://code.google.com/p/gmaps-api-issues/issues/detail?id=10981&thanks=10981&ts=1480591333 –

答えて

2

私が得ました同じ問題。

残念ながら、GoogleプレイスAPI Androidを使用して特定の範囲内の場所を取得する方法はありません。

ただし、GoogleプレイスAPI ウェブサービスを使用して付近検索を使用することはできます。ここ

ドキュメント: https://developers.google.com/places/web-service/search?hl=fr

あなたは、この答えで説明したように、パラメータに境界を設定し、JSON応答から内部境界の場所を得ることができる必要があります: https://stackoverflow.com/a/32404701/5446285

+0

ありがとうございました。私はこのアプローチを検討しましたが、Googleはあなたに警告しますそのドキュメントのページ: "The PlエースAPI Webサービスとクライアントライブラリはサーバーアプリケーションで使用されます。 " そして、私の問題はAndroidクライアントに影響を与えました。 私はこの質問をして以来、私は同僚にマップでレポートを提出させました。彼らはまだリリース日がないのに、彼らは現在この機能をサポートしていると言って戻ってきました。 –

+0

Android向けPlaces APIの機能リクエスト:https://issuetracker.google.com/issues/38188994 – xomena

関連する問題