如何计算ArrayList中两个标记之间的距离?

时间:2017-04-15 15:44:22

标签: java android google-maps google-maps-android-api-2

所以我在ArrayList中随机生成了5个标记但是我想计算标记之间的距离并且只显示彼此相距500米的标记,可以编码到目前为止:

ArrayList<Marker> ArrM = new ArrayList<Marker>();

    for (int i = 0; i < 5; i++){
Marker marker = mMap.addMarker(
                new MarkerOptions()
                        .position(computeOffset(mLatLng,ranDist,newRandomHeading))
                        .visible(true)
                        .title("Marker"));
       ArrM.add(marker);
    }

上面的代码成功地创建了5个随机放置在给定半径周围的标记,但是我只想显示彼此相差500米的标记,我得到了3个标记,相距500米,但怎么能我只展示其中的2个?

1 个答案:

答案 0 :(得分:0)

您可以使用具有函数的Google Maps Android API实用程序库来计算两个LatLng之间的距离:

http://googlemaps.github.io/android-maps-utils/

SphericalUtil中的computeDistanceBetween()是您应该在代码中使用的函数。

请阅读以下文档以获取更多详细信息

https://developers.google.com/maps/documentation/android-api/utility/#spherical

希望它有所帮助!