mapkit-android-demo icon indicating copy to clipboard operation
mapkit-android-demo copied to clipboard

MapKit не работает совместно с firebase

Open alexdarh opened this issue 4 years ago • 3 comments

Приветствую. Использую для обучения mapkit-android-demo. Решил интегрировать его с firebase. При попытке прописать в build.gradle (app) implementation 'com.google.firebase:firebase-auth:19.3.0' UserLocation перестает работать. карта появляется, но местоположение не определяется. разрешения на геолокацию даны. Ошибка в консоли следующая: 2020-03-24 02:27:07.447 18020-18088/? W/yandex.maps: yandex::maps::runtime::config::internal::ConfigManagerImpl::ConfigManagerImpl: Custom experiments are not allowed 2020-03-24 02:27:07.460 18020-18090/? E/yandex.maps: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.api.Api$zzf" on path: DexPathList[[zip file "/data/app/com.godsgift.nt3-SRGx_ChVR38pp9puHGDJvw==/base.apk"],nativeLibraryDirectories=[/data/app/com.godsgift.nt3-SRGx_ChVR38pp9puHGDJvw==/lib/arm64, /data/app/com.godsgift.nt3-SRGx_ChVR38pp9puHGDJvw==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64]] 2020-03-24 02:27:07.671 18020-18084/? W/yandex.maps: yandex::maps::runtime::config::internal::ConfigManagerImpl::ConfigManagerImpl: Custom experiments are not allowed

alexdarh avatar Mar 24 '20 00:03 alexdarh

@alexdarh А с аналогами работает? Просто тоже хотел связать с firebase

bboyzlodey avatar Apr 25 '20 16:04 bboyzlodey

Тут как одно из решений проблемы можно сделать следующее.

  1. Определите свое местоположение через сервис. Тут есть хороший пример, как это сделать: link
  2. Поставьте метку на карте. Я использовал PlaceMark Можно поиграться с Listener'ами, что бы местоположение было всегда текущим.

Как еще одно решение - отказаться от firebase и использовать аналог, потому что FireBase(Google Services) перекрывает UserLocation именно в том месте, где нужно определить Location юзера

bboyzlodey avatar May 05 '20 14:05 bboyzlodey

@alexdarh тебе нужно отдельно подключить зависимость play-services-location, т.к. при определении местоположения, устройство обращается к Location API от Google.

    /* Map */
    implementation("com.google.android.gms:play-services-location:17.0.0")
    implementation("com.yandex.android:mapkit:3.5.0")

hikkidev avatar Aug 04 '20 11:08 hikkidev

Пробовал подключать и работать с mapKit, потом бросил это дело. Взял веб версию яндекс карт api, встроил через webview, всё гораздо документированнее и понятнее, все работает, в приложении нет лишних библиотек. Конечно не идеальный вариант, но есть в таком способе и свои плюсы.

Gorbulev-Sergey avatar Dec 20 '22 13:12 Gorbulev-Sergey