如何计算阵列列表中两个标记之间的距离



因此,我已经在一个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个标记在给定半径周围随机放置的5个标记,但是我只想显示彼此之间500米以内的标记,我可以保证相距500米的3个标记,但是如何能够我只显示其中2个?

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

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

sphericalutil的computistancebetween((是您在代码中应使用的功能。

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

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

希望它有帮助!

最新更新