Вы вызываете `removeAnnotationIcon` после того, как` MapView` был уничтожен, вызывали ли вы его после `onDestroy ()`? MapBox - PullRequest
0 голосов
/ 19 апреля 2020

Вы звоните removeAnnotationIcon после того, как MapView был уничтожен, вызывали ли вы его после onDestroy()?

это функция ambildata

 for (i in p0.children) {
                    var user: ModelSharing? =
                        i.getValue(ModelSharing::class.java)
                    var datalongitude = user!!.longitude
                    var datalatitude = user.latidude
                    var nama = user.name
                    var foto = user.image
                    lokasi = LatLng(datalatitude, datalongitude)
                        if (markerViewManager != null) {
                            customview = LayoutInflater.from(context!!.applicationContext)
                                .inflate(R.layout.marker, null)
                            customview.layoutParams =
                                FrameLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)
                            val titleTextView: TextView =
                                customview.findViewById(R.id.marker_window_title)
                            val gambarView: ImageView =
                                customview.findViewById(R.id.gambarview)

                            Picasso.get().load(foto).resize(50,50)
                                .into(gambarView)
                            marker = MarkerView(lokasi, customview)
                            titleTextView.text = nama
                            markerViewManager?.addMarker(marker)
                            markerMap.put(counter, marker)
                            counter++
                            //break
                        }
                }

это onMapReady

override fun onMapReady(mapboxMap: MapboxMap) {
        this.mapboxMap = mapboxMap

        mapboxMap.setStyle(Style.MAPBOX_STREETS) {

            enableLocationComponent(it)
            markerViewManager = MarkerViewManager(mapboxfamily, mapboxMap)
            mapboxMap.addOnMapClickListener(this)
            if (setMarker == true)
            {
                try {
                    ambildata()
                } catch (e: IOException) {
                    e.printStackTrace()
                }

            }
        }


    }

введите описание изображения здесь

  1. каждый фрагмент перемещается и возвращается к предыдущему фрагменту. это будет ошибка. как с этим справиться?

1 Ответ

0 голосов
/ 19 апреля 2020

У меня была такая же проблема, чтобы предотвратить ее, попробуйте переопределить onDestroy, а не onDestroyView.

   override fun onDestroy() {
    super.onDestroy()

    mapBox.locationComponent.isLocationComponentEnabled = false
    mapView.onDestroy()
}
...