Firebase 如何动态更新谷歌地图上的标记位置?

Firebase 如何动态更新谷歌地图上的标记位置?,firebase,google-maps,kotlin,firebase-realtime-database,google-maps-markers,Firebase,Google Maps,Kotlin,Firebase Realtime Database,Google Maps Markers,我正在创建一个约会应用程序,它将使用谷歌地图,以显示一定范围内的所有用户,并跟踪他们的移动。我已经从Firebase数据库中检索了数据,并将其以标记的形式显示在地图上,但我真的不知道如何实现位置的自动更新。现在可以通过手动刷新地图来查看更改 这是我的onCreate函数: override fun onCreate(savedInstanceState: Bundle?) super.onCreate(savedInstanceState) setContentVi

我正在创建一个约会应用程序,它将使用谷歌地图,以显示一定范围内的所有用户,并跟踪他们的移动。我已经从Firebase数据库中检索了数据,并将其以标记的形式显示在地图上,但我真的不知道如何实现位置的自动更新。现在可以通过手动刷新地图来查看更改

这是我的onCreate函数:

override fun onCreate(savedInstanceState: Bundle?) 
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_maps)

       mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this)
       mapFrag = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment
       mapFrag?.getMapAsync(this)
override fun onMapReady(googleMap: GoogleMap?) {
        map = googleMap!!
        map.mapType = GoogleMap.MAP_TYPE_NORMAL
        mLocationRequest = LocationRequest()
        mLocationRequest.interval = 120000
        mLocationRequest.fastestInterval = 120000
        mLocationRequest.priority = LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
            if(ContextCompat.checkSelfPermission(this,android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)
            {
                mFusedLocationProviderClient?.requestLocationUpdates(mLocationRequest,mLocationCallback, Looper.myLooper()!!)
                map.isMyLocationEnabled = true
                update_pr()
            }
            else
            {
                checkLocationPermission()
            }
        }
        else
        {
            mFusedLocationProviderClient?.requestLocationUpdates(mLocationRequest,mLocationCallback,Looper.myLooper()!!)
        }
和onMapReady函数:

override fun onCreate(savedInstanceState: Bundle?) 
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_maps)

       mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this)
       mapFrag = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment
       mapFrag?.getMapAsync(this)
override fun onMapReady(googleMap: GoogleMap?) {
        map = googleMap!!
        map.mapType = GoogleMap.MAP_TYPE_NORMAL
        mLocationRequest = LocationRequest()
        mLocationRequest.interval = 120000
        mLocationRequest.fastestInterval = 120000
        mLocationRequest.priority = LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
            if(ContextCompat.checkSelfPermission(this,android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)
            {
                mFusedLocationProviderClient?.requestLocationUpdates(mLocationRequest,mLocationCallback, Looper.myLooper()!!)
                map.isMyLocationEnabled = true
                update_pr()
            }
            else
            {
                checkLocationPermission()
            }
        }
        else
        {
            mFusedLocationProviderClient?.requestLocationUpdates(mLocationRequest,mLocationCallback,Looper.myLooper()!!)
        }