yandex/mapkit-android-demo

Не отображается UserLocation при возвращении по стеку

Child0fTheSun opened this issue · 1 comments

Добрый день!
У меня есть приложение, с 1 активити и фрагментами, которые переключаются между собой. На одном из фрагментов реализована карта и MapView. Проблема в том, что если перейти на другой фрагмент, а после вернуться обратно UserocationLayer исчезает и больше не рисуется

Прилагаю соответствующий код

private fun initMap() {
        mMapView = binding.mapView

        mMap = mMapView.mapWindow.map
        mMap.set2DMode(true)

        isMapReady = true

        onMapReady()
    }

    private fun onMapReady() {
        drawUserLocationMobileGPS()
        mMap.addCameraListener(this)
    }

    override fun onObjectAdded(userLocationView: UserLocationView) {
        setUserLocationLayerIcons(userLocationView)
    }

    override fun onObjectRemoved(userLocationView: UserLocationView) {
        setUserLocationLayerIcons(userLocationView)
    }

    override fun onObjectUpdated(userLocationView: UserLocationView, event: ObjectEvent) {
        setUserLocationLayerIcons(userLocationView)
    }

private fun setUserLocationLayerIcons(userLocationView: UserLocationView) {
        if (GPS == GPS_MOBILE) {
            cameraUserPosition()

            userLocationView.pin.setIcon(
                ImageProvider.fromBitmap(requireContext().getBitmapFromVectorDrawable(R.drawable.ic_user_arrow_51dp)),
                IconStyle().setAnchor(PointF(0.5f, 0.5f))
                    .setRotationType(RotationType.ROTATE)
                    .setZIndex(1f)
                    .setScale(1f)
            )
            userLocationView.arrow.setIcon(
                ImageProvider.fromBitmap(requireContext().getBitmapFromVectorDrawable(R.drawable.ic_user_arrow_51dp)),
                IconStyle().setAnchor(PointF(0.5f, 0.5f))
                    .setRotationType(RotationType.ROTATE)
                    .setZIndex(1f)
                    .setScale(1f)
            )

            userLocationView.accuracyCircle.fillColor = Color.TRANSPARENT
        }
    }

Пожалуйста, пришлите нам минимальный пример вашей ситуации. Вы можете выложить его проектом на GitHub, прикрепить к переписке в архиве или загрузить на Яндекс Диск и указать ссылку.