Я пытаюсь получить список ближайших мест, используя API Google Адресов. Я включил requried API из Google Devloper Console и имею действительный ключ API. Я могу получить свое местоположение. После того, как я получил свое текущее местоположение, я пытаюсь получить список ближайших мест, но он возвращает пустое.
Я также попытался дать null
PlaceFilter
, но он дает тот же результат.
private class MyGoogleMapOnMyLocationListener implements
OnMyLocationChangeListener,
ConnectionCallbacks,
OnConnectionFailedListener {
private GoogleApiClient mGoogleApiClient;
@Override
public void onMyLocationChange(Location location) {
if (!hasLastLocation) {
hasLastLocation = true;
mLastLocation = location;
Log.d(LOG_TAG, "Location: " + location.toString());
if (googleMap != null ) {
googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(location.getLatitude(), location.getLongitude()), 16.0f));
if (mGoogleApiClient == null) {
mGoogleApiClient = new GoogleApiClient
.Builder(getActivity())
.addApi(Places.GEO_DATA_API)
.addApi(Places.PLACE_DETECTION_API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
mGoogleApiClient.connect();
}
}
}
}
@Override
public void onConnected(Bundle bundle) {
Log.d(LOG_TAG, "Google Api Client connected.");
if (mGoogleApiClient != null) {
Log.d(LOG_TAG, "Getting nearby places...");
PendingResult<PlaceLikelihoodBuffer> result =
Places.PlaceDetectionApi.getCurrentPlace(mGoogleApiClient, null);
result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() {
@Override
public void onResult(PlaceLikelihoodBuffer likelyPlaces) {
Log.d(LOG_TAG, "Got results: " + likelyPlaces.getCount() + " place found.");
for (PlaceLikelihood placeLikelihood : likelyPlaces) {
Log.i(LOG_TAG, String.format("Place '%s' has likelihood: %g",
placeLikelihood.getPlace().getName(),
placeLikelihood.getLikelihood()));
}
likelyPlaces.release();
}
});
}
}
@Override
public void onConnectionSuspended(int i) {
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
}
}
Вот мой AndroidManifest.xml
Вот моя карта Фрагмент
Я следил за инструкциями API Google Адресов для Android
И я пробовал принять ответ на этот вопрос: Показать текущее местоположение и соседние места и маршрут между двумя местами с помощью API Карт Google в Android
UPDATE
Я включил другие API-интерфейсы, связанные с картой, из Google Developer Console, и это сработало.