Получение названия API мест Google (Поиск мест) для моего текущего местоположения

Я делаю приложение для Android, в котором я буду использовать имя текущего местоположения для поиска его информации в Википедии. Например, если я нахожусь в музее мадам Тюссо, сначала я получу координаты текущего местоположения, затем после обратного геокодирования, его информация будет найдена в Википедии и отображена в моем приложении.

У меня есть текущие координаты местоположения, но проблема в том, что когда я меняю геокодирование координат, я не получаю название места. например, для координат 33.651826, 73.156593, когда я изменяю геокод, я получаю Парк Роуд, Пакистан, где в качестве названия места используется Институт информационных технологий КОМСАТС.

Я получаю Институт информационных технологий COMSATS в Google Places API (Поиск места) в узле Name. Так есть ли способ, которым я могу использовать имя узла Google Places API для моего текущего местоположения, а не какой-либо поиск места или другие функции?

Или есть какой-нибудь способ, которым я могу получить название места, используя lat lon?

2 ответа

Решение

Определите объект GoogleApiClient и затем вызовите этот метод

private void guessCurrentPlace() {
PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi.getCurrentPlace( mGoogleApiClient, null );
result.setResultCallback( new ResultCallback<PlaceLikelihoodBuffer>() {
    @Override
    public void onResult( PlaceLikelihoodBuffer likelyPlaces ) {

        PlaceLikelihood placeLikelihood = likelyPlaces.get( 0 );
        String content = "";
        if( placeLikelihood != null && placeLikelihood.getPlace() != null && !TextUtils.isEmpty( placeLikelihood.getPlace().getName() ) )
            content = "Most likely place: " + placeLikelihood.getPlace().getName() + "\n";
        if( placeLikelihood != null )
            content += "Percent change of being there: " + (int) ( placeLikelihood.getLikelihood() * 100 ) + "%";
        mTextView.setText( content );

        likelyPlaces.release();
    }
});
}

Ссылка: http://code.tutsplus.com/articles/google-play-services-using-the-places-api--cms-23715

API Places для Android, представленный в сервисах Google Play 7.0, предлагает API для получения текущего места с помощью PlaceDetectionApi.getCurrentPlace (). Этот метод использует текущее местоположение пользователя, а затем возвращает список вероятных мест для пользователя. Затем вы можете использовать Place.getName(), чтобы получить имя местоположения и отобразить его для пользователя.

Если вы хотите, чтобы пользователь выбирал местоположение вокруг себя (а не выбирал для него самый верхний результат), вы можете использовать пользовательский интерфейс Place Picker.

Другие вопросы по тегам