2016-06-13 20 views
3

私は現在の場所の詳細(緯度と経度)を渡して現在の場所のタイプを取得する必要がある場所を探しています。GoogleプレイスApi Android

たとえば、私がATMに立っていて、緯度と経度を渡すと、ATMのようなものが返されます。この目的のために

、私はこれは、コードの主な焦点であるGoogle Places API

PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi 
.getCurrentPlace(mGoogleApiClient, null); 
result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() { 
@Override 
public void onResult(PlaceLikelihoodBuffer likelyPlaces) { 
for (PlaceLikelihood placeLikelihood : likelyPlaces) { 
    Log.i(TAG, String.format("Place '%s' has likelihood: %g", 
     placeLikelihood.getPlace().getName(), 
     placeLikelihood.getLikelihood())); 
} 
likelyPlaces.release(); 
} 
}); 

を使用しています。

しかし、ここでは、場所のリストを1つではなく返します。 私はその中で、getCurrentPlaceの機能PlaceDetectionApi私はnullの代わりに半径を渡す必要があります。しかし、私はそれを渡す方法を取得していません。 そして、私のGoogleApiClientオブジェクトが

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

は、事前に君たちに感謝です。気圧リストを取得するために

+0

mGoogleApiClientのコードを入れてください –

+0

Places APIは既知のアドレスの情報しか提供していませんか?同様に、あなたが銀行にいて、近くのすべての場所を返すのかどうかを教えてくれますが、ATMのような場所の「タイプ」を知る方法はありません。たとえば、ショッピングモールにいる場合は、ショップの名前ではなく、ショッピングモールの名前が表示されます。 –

+1

getCurrentPlaceメソッドは、Places APIがユーザーが現在いる場所を特定できないため、場所のリストを返します。それで、それぞれの場所に関連する「可能性」があるのです。その可能性は、Places APIが自信を持って実際にその特定の場所にいることを示しています。リストの最初の場所が最も可能性が高いです。 1つの場所だけを検討したい場合は、リストの最初の場所を見てください。 –

答えて

1

、置き型のGoogleでここで、Googleの公式linkが近い場所の気圧リストを取得することです

をクリックして、リストから次のパラメータを渡す必要があり、あなたの場所の種類の入力パラメータを提供します。パラメータのリストを知るにはlink

+0

提案していただきありがとうございますが、私は例としてATMに言及しましたが、 私は現在のユーザーの場所の種類がわかりません。緯度と経度を一度渡すと、タイプは –

+0

@ JayVyasに戻ります。回答が得られるこのサンプルを確認してください。http://karnshah8890.blogspot.in/2013/03/google-places-api-tutorial.html –

+0

@JayVyasあなたがあなたの答えを持っているなら、他の人もそれから助けを得ることができるように答えを受け入れてください –

1

Googleは私にplace typeを返します。 getPlacesTypes()

List<Integer> types = placeLikelihood.getPlace().getPlaceTypes(); 

を訪問しかし、ここでそれは場所のリストの代わりに、同じ場所でも、他の場所に関連させることができることは明らかである1

を返します。 @ cricket_007のコメントを確認してください。

happyCoding;

関連する問題