Получение названия 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.