Подтвердить что ты не робот

Не удалось импортировать com.google.android.gms.location.LocationServices

Я пытаюсь найти наиболее точное местоположение.

до сих пор я успешно использовал LocationClient, как в документах Google: http://developer.android.com/training/location/retrieve-current.html

Но теперь я обнаружил, что этот класс старый: http://developer.android.com/reference/com/google/android/gms/location/package-summary.html

Msgstr "Этот класс устарел. Используйте LocationServices".

Однако в примерах LocationServices даже на этом сайте: Android LocationClient класс устарел, но используется в документации

Кажется, мы должны использовать импорт: com.google.android.gms.location.LocationServices Однако я не могу импортировать этот класс..

Есть идеи?

Редактировать:

Я нашел на этой странице: h2ttps://github.com/M66B/XPrivacy/issues/1774

с, казалось бы, похожей проблемой, предположение, что: "Кажется, является частью сервисов Play 5.0".
Интересно, так ли это - кто-нибудь пробовал это?

4b9b3361

Ответ 1

Убедитесь, что у вас есть следующий элемент в зависимости от gradle:

dependencies {
    compile 'com.google.android.gms:play-services-location:7.+'
}

Ответ 2

Пожалуйста, не используйте compile 'com.google.android.gms:play-services:9.0.1'

В версиях сервисов Google Play до 6.5 вам пришлось собрать весь пакет API в ваше приложение. В некоторых случаях это затрудняло сохранение количества методов в вашем приложении (включая интерфейсные API, библиотечные методы и собственный код) в соответствии с лимитом 65 536.

В версии 6.5 вы можете выборочно скомпилировать API-интерфейс сервисов Google Play в свое приложение. Например, в вашем случае вам просто нужно это.

compile 'com.google.android.gms:play-services-maps:9.0.1'
compile 'com.google.android.gms:play-services-location:9.0.1'

Чтобы использовать сплавленный api для получения последнего местоположения, вы должны иметь compile 'com.google.android.gms:play-services-location:9.0.1'.

Подробнее...

Надеюсь, что это поможет

Ответ 3

Ниже может помочь,

  • У вас должна быть загружена версия последней версии 22 для воспроизведения.
  • Добавьте эту строку в зависимости compile 'com.google.android.gms: play-services: +'

Он должен импортировать соответствующий пакет в проект.

Ответ 4

Я столкнулся с той же проблемой и решил ее, обновив Google Play Services с 17 до последних (в настоящее время 22) в Android SDK Manager, как упоминалось в комментариях.

Для этого в Eclipse:

  • Удалить проект google-play-services_lib с вашего Eclipse
  • Следуйте шагу 3 Добавление SDK-пакетов. Когда вы запустите Android SDK Manager, он должен сказать "Обновление доступно: Rev 22" для Служб Google Play. Проверьте его и нажмите "Установить N пакетов", чтобы обновить его.
  • Следуйте Настройка сервисов Google Play, чтобы снова импортировать проект google-play-services_lib.

Ответ 5

LocationClient устарел. Вы должны использовать GoogleApiclient, например:

1: объявить переменную GoogleApiClient

private GoogleApiClient mGoogleApiClient;

2: Выполнять

mGoogleApiClient = new GoogleApiClient.Builder(mThisActivity)
     .addApi(LocationServices.API)
     .addConnectionCallbacks(this)
     .addOnConnectionFailedListener(this)
     .build();

3: Реализация обратного вызова

public class YourClass extends BaseFragment implements
    GoogleApiClient.ConnectionCallbacks,
    GoogleApiClient.OnConnectionFailedListener, LocationListener {

    @Override
    public void onConnectionFailed(ConnectionResult result) {
        // your code goes here
    }

    @Override
    public void onConnected(Bundle connectionHint) {
        //your code goes here
    }

    @Override
    public void onConnectionSuspended(int cause) {
        //your code goes here       
    }
}

4: Начните получать обновления местоположения:

LocationServices.FusedLocationApi.requestLocationUpdates(
            mGoogleApiClient, mLocationRequest, this);

5: Удалите обновления местоположения:

LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);

6: Получить последнее известное местоположение:

private Location mCurrentLocation;

mCurrentLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);

Ответ 6

Выполните следующие действия, если вы используете eclipse: -

  • Обновите библиотеку игр Google из SDK Manger.
  • Удалить старый google-play-services_lib из рабочей области и удалить всю зависимость.
  • Импортируйте обновление google-play-services_lib и убедитесь, что выбрана опция copy to workspace

копировать на рабочее место

  1. Добавить google-play-services_lib для создания пути проекта, он должен показывать относительный путь введите описание изображения здесь

  2. Если этот шаг не работает перезапустить eclipse.

Ответ 7

Это аналогичный вопрос для выдачи и ответа на здесь:

В Android Studio:

  • Щелкните правой кнопкой мыши на папке "приложения" ваших проектов и выберите "-" настройки модуля

  • Нажмите вкладку "зависимости"

  • Нажмите на знак +, чтобы добавить новую зависимость, и выберите "Зависимость библиотеки" Найдите нужную библиотеку и добавьте ее

Ответ 8

Начиная с 2019 года, лучший ответ устарел и не будет работать.

Вместо этого добавьте:

implementation 'com.google.android.gms:play-services-location:17.0.0'

к dependencies в build.gradle.