Добавить маркеры на карты Google из базы данных Realm android - PullRequest
0 голосов
/ 07 мая 2020

Первый раз создаете приложение, так что терпите меня. Я хочу взять местоположение, сохраненное в Realm, и добавить его на карты Google с помощью маркеров. Я видел несколько с SQLlite, но мне нужно, чтобы он обновлялся при каждом открытии. Я использую kotlin и зацикливаюсь на том, что писать в Google MapsActivity

object BikeDao {
fun getBikes() : List<Bike> {
    val realm = Realm.getDefaultInstance()
    return realm.where<Bike>().findAll().toList()
}

fun getAvailableBikes() : List<Bike> {
    val realm = Realm.getDefaultInstance()
    return realm.where<Bike>().equalTo("available", true).findAll()
}

fun addBike(bike : Bike) : Bike {
    val realm = Realm.getDefaultInstance()
    val index = realm.where<Bike>().count()
    realm.executeTransaction {
        val newBike = it.createObject<Bike>(index)
        newBike.name = bike.name
        newBike.type = bike.type
        newBike.location = bike.location
        newBike.hourlyPrice = bike.hourlyPrice
        newBike.picture = bike.picture
        newBike.available = bike.available
    }
    bike.id = index
    return bike
}

Сосредоточение внимания на доступных велосипедах, которые нужно отметить

Код Google

class MapsActivity : AppCompatActivity(), OnMapReadyCallback {

private lateinit var mMap: GoogleMap
private val bikeList = BikeDao.getBikes()

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_maps)
    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    val mapFragment = supportFragmentManager
        .findFragmentById(R.id.map) as SupportMapFragment
    mapFragment.getMapAsync(this)
}

override fun onMapReady(googleMap: GoogleMap) {
    mMap = googleMap

    /*
    val Copenhagen = LatLng(55.6761, 12.5683)
    mMap.addMarker(MarkerOptions().position(Copenhagen).title("Marker in Copenhagen"))
    mMap.moveCamera(CameraUpdateFactory.newLatLng(Copenhagen))
    googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(Copenhagen,12f))

     */
}

}

...