From 0417ca3e6786c98ccf4b7d093e0e7f9827668aaf Mon Sep 17 00:00:00 2001 From: DYurchenko Date: Tue, 7 Mar 2023 18:45:18 +0300 Subject: [PATCH 1/2] add user location callback and change user location layer modifier --- .../src/main/java/ru/touchin/yandexmap/YandexMapManager.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/yandex-map/src/main/java/ru/touchin/yandexmap/YandexMapManager.kt b/yandex-map/src/main/java/ru/touchin/yandexmap/YandexMapManager.kt index e3d1249..b50b9a1 100644 --- a/yandex-map/src/main/java/ru/touchin/yandexmap/YandexMapManager.kt +++ b/yandex-map/src/main/java/ru/touchin/yandexmap/YandexMapManager.kt @@ -23,7 +23,8 @@ import ru.touchin.basemap.AbstractMapManager @Suppress("detekt.TooManyFunctions") class YandexMapManager( - mapView: MapView + mapView: MapView, + private val onUserLocationAdded: (() -> Unit)? = null ) : AbstractMapManager(mapView), MapLoadedListener, CameraListener, InputListener, UserLocationObjectListener { companion object { @@ -36,7 +37,7 @@ class YandexMapManager( } - private val userLocationLayer by lazy { + val userLocationLayer by lazy { MapKitFactory.getInstance().createUserLocationLayer(mapView.mapWindow).also { it.isVisible = false it.setObjectListener(this) @@ -158,6 +159,8 @@ class YandexMapManager( view.pin.setIcon(imageProvider) } userLocationAccuracyCirceColor?.let(view.accuracyCircle::setFillColor) + + onUserLocationAdded?.invoke() } override fun onObjectUpdated(view: UserLocationView, event: ObjectEvent) = Unit From 0f96243ee447ce1ff905752ce99a412567a14d02 Mon Sep 17 00:00:00 2001 From: DYurchenko Date: Thu, 16 Mar 2023 12:51:41 +0300 Subject: [PATCH 2/2] refactor --- .../src/main/java/ru/touchin/yandexmap/YandexMapManager.kt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/yandex-map/src/main/java/ru/touchin/yandexmap/YandexMapManager.kt b/yandex-map/src/main/java/ru/touchin/yandexmap/YandexMapManager.kt index b50b9a1..e7eafc8 100644 --- a/yandex-map/src/main/java/ru/touchin/yandexmap/YandexMapManager.kt +++ b/yandex-map/src/main/java/ru/touchin/yandexmap/YandexMapManager.kt @@ -22,9 +22,8 @@ import com.yandex.runtime.image.ImageProvider import ru.touchin.basemap.AbstractMapManager @Suppress("detekt.TooManyFunctions") -class YandexMapManager( - mapView: MapView, - private val onUserLocationAdded: (() -> Unit)? = null +open class YandexMapManager( + mapView: MapView ) : AbstractMapManager(mapView), MapLoadedListener, CameraListener, InputListener, UserLocationObjectListener { companion object { @@ -159,8 +158,6 @@ class YandexMapManager( view.pin.setIcon(imageProvider) } userLocationAccuracyCirceColor?.let(view.accuracyCircle::setFillColor) - - onUserLocationAdded?.invoke() } override fun onObjectUpdated(view: UserLocationView, event: ObjectEvent) = Unit