我在尋找某些東西,我需要傳遞我當前的位置詳細信息(經度和緯度)並檢索當前位置的類型。Google Places Api Android
例如,如果我站在自動櫃員機,並且如果我傳遞經緯度,Google應該返回類似於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();
}
});
這是代碼的主要焦點。
但是這裏它返回的地方而不是一個地方的名單。 我認爲,內部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();
謝謝你們提前。
put代碼mGoogleApiClient –
Places API是否僅提供已知地址的信息?比如,它會告訴你,如果你在銀行,並且還要返回所有附近的地方,但是沒有辦法知道像ATM這樣的地方的「類型」。例如,如果您在商場內,則可能會顯示商場名稱,而不是您所在的商店 –
getCurrentPlace方法返回地點列表,因爲Places API無法確定用戶當前處於哪個位置。這就是爲什麼每個地方都有一個「可能性」。這種可能性表明Places API對您實際上處於特定位置的信心有多大。名單中的第一名將是最有可能的。如果你只想考慮一個地方,只要看看列表中的第一個地方。 –