我的应用程序中的地图上有3个标记,这3个标记位置基于firebase中的Latlng数据。如何显示3个标记到我当前位置的距离。
这是我展示标记的方式:
refDatabase.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
LatLng newlocation = new LatLng(dataSnapshot.child("latitude").getValue(Double.class),dataSnapshot.child("longitude").getValue(Double.class));
nama = new String(dataSnapshot.child("nama").getValue(String.class));
kec = new String(dataSnapshot.child("kecamatan").getValue(String.class));
kab = new String(dataSnapshot.child("kebupaten").getValue(String.class));
googleMap.addMarker(new MarkerOptions().position(newlocation).title(nama+", "+kec+", "+kab));
});
如果有可行的方法,我怎么能同时将所有距离保存到火力基地,我有1个空的孩子"距离"在firebase。
答案 0 :(得分:2)
您可以使用android.location.Location.distanceBetween()来计算两个位置之间的距离。这是android给出的定位方法。 整个签名如下: - distanceBetween(double startLatitude, double startLongitude, 双端态度, 双端长度, float []结果) 您可以参考以下链接以获得进一步的疑问https://developer.android.com/reference/android/location/Location.html#distanceBetween(double,%20double,%20double,%20double,%20float[])