Создание динамических маркеров и доступ по переменным для Google Maps Api на Kotlin - PullRequest
0 голосов
/ 22 сентября 2019

Я делаю проект, в котором мне нужно добавить и удалить некоторые маркеры, созданные динамически.Я создаю свои маркеры следующим образом:

 private fun AddMarkerFromArray(name:String, adrs:String,cod:String,imgSrc:String){

    val info = MarkerDataNormal(name, adrs,
        cod )
    val markerOptions = MarkerOptions()
    markerOptions.position(LatLng(0.0,0.0))
        .title("Location Details")
        .snippet("I am custom Location Marker.")
        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE)
            )
    val customInfoWindow = CustomInfoWindowGoogleMap(this)
    mMap.setInfoWindowAdapter(customInfoWindow)
    val spot: Marker = mMap.addMarker(markerOptions)
    spot.tag = info
   // spot.showInfoWindow()
}

И это остальная часть кода:

   data class MarkerDataNormal(val mLocatioName: String,
                        val mLocationAddres: String,
                        val mLocationCood: String)

   class CustomInfoWindowGoogleMap(val context: Context) : GoogleMap.InfoWindowAdapter {

   override fun getInfoContents(p0: Marker?): View {

    var mInfoView = (context as Activity).layoutInflater.inflate(R.layout.markernormal, null)
    var mInfoWindow: MarkerDataNormal? = p0?.tag as MarkerDataNormal?
    mInfoView.txtNombre.text = mInfoWindow?.mLocatioName
    mInfoView.txtDireccion.text = mInfoWindow?.mLocationAddres
    mInfoView.txtCoordenadas.text = mInfoWindow?.mLocationCood
    return mInfoView
}

override fun getInfoWindow(p0: Marker): View? {
    return null
   }
}

, поэтому я использую функцию, чтобы вывести все необходимые мне маркеры, они отображаются правильно, но я не могу clear() только по одной причине, каждый из них является «точечным»

, как я могу изменить имя переменной или назначить каждому идентификатор для последующего доступа

1 Ответ

0 голосов
/ 22 сентября 2019

Я думаю, вы должны хранить ссылки на маркерные объекты в List<Marker>.Таким образом, у вас будет доступ к этим ссылкам позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...