Android 如何在实时数据库firebase上检索使用geofire保存的位置
我已使用geofire在实时数据库中保存了我所在位置的坐标,即firebase中的坐标,该数据库每3秒钟更新一次。现在我想在我的地图活动中检索坐标,即(纬度和长度),但我不知道如何检索。我是android studio的新手 我在fire base中存储位置的方法Android 如何在实时数据库firebase上检索使用geofire保存的位置,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我已使用geofire在实时数据库中保存了我所在位置的坐标,即firebase中的坐标,该数据库每3秒钟更新一次。现在我想在我的地图活动中检索坐标,即(纬度和长度),但我不知道如何检索。我是android studio的新手 我在fire base中存储位置的方法 public void onLocationChanged(Location location) { FirebaseUser user = fb.getCurrentUser();
public void onLocationChanged(Location location) {
FirebaseUser user = fb.getCurrentUser();
GeoFire geoFire = new
GeoFire(databaseReference.child(user.getUid()));
geoFire.setLocation("location", new
GeoLocation(location.getLatitude(), location.getLongitude()), new
GeoFire.CompletionListener() {
@Override
public void onComplete(String key, DatabaseError error) {
if (error != null) {
Toast.makeText(gpdfuel.this, "There was an error
saving the location to GeoFire: " + error, Toast.LENGTH_LONG).show();
} else {
Toast.makeText(gpdfuel.this, "Location saved on server
successfully!", Toast.LENGTH_LONG).show();
}
}
});
以下是如何在地图中保存位置的数据库图片:
geoFire.getLocation("location", new LocationCallback() {
@Override
public void onLocationResult(String key, GeoLocation location) {
if (location != null) {
//set marker to display on map
} else {
//When location is null
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
//LogDatabase error
}
});
你需要使用这些方法。你能详细说明一下你必须实现这个接口并使用其中的方法吗。与使用onLocationChanged的方式类似。然后你必须用这些方法读取数据。我喜欢读这里。将有像geoFire.getLocation()这样的方法,它将如何检索位置,除非它未与DatabaseReferenceMap.addMarker(新的MarkerOptions().position().title(“”)一起使用;在位置上写什么?mMap.addMarker(新的MarkerOptions().position().title(“”);bellow注释//设置要在地图上显示的标记,但我必须在position()中写入一些内容??如果不使用LatLan,我如何传递position()中位于标记中的内容