如何计算从火盆中的Latlng到我当前位置的距离Android Studio

时间:2018-04-04 05:43:25

标签: android google-maps

我的应用程序中的地图上有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。

1 个答案:

答案 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[])