Kotlin 冒泡算法 ,高德地图 过滤掉两点之间距离小于50的数据,不重复显示

Posted 黄毛火烧雪下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin 冒泡算法 ,高德地图 过滤掉两点之间距离小于50的数据,不重复显示相关的知识,希望对你有一定的参考价值。

 /**
     * 冒泡过滤算法
     */
    private fun getNeedShowOilStation() 
        originalList?.forEachIndexed  i, oneModel ->
            //如果待删除列表不包含则继续执行
            if (deleteList?.contains(oneModel)) 
                return@forEachIndexed
            
            originalList?.forEachIndexed  j, twoModel ->

                if (j <= i || deleteOilStationEntityList?.contains(twoModel)) 
                    return@forEachIndexed
                

                //计算两点之间的距离
                var distance = calculateLineDistance(
                    LatLng(
                        oneModel?.latitude ?: 0.0,
                        oneModel?.longitude ?: 0.0
                    ), LatLng(twoModel?.latitude ?: 0.0, twoModel?.longitude ?: 0.0)
                )
                //小于50m,则标识要过滤掉
                if (distance <= 50) 
                    deleteList?.add(twoModel)
                
            
        

        oilStationEntityList.removeAll(deleteList)
    

以上是关于Kotlin 冒泡算法 ,高德地图 过滤掉两点之间距离小于50的数据,不重复显示的主要内容,如果未能解决你的问题,请参考以下文章

高德地图相关api使用计算两点地理坐标之间的距离

高德地图相关api使用计算两点地理坐标之间的距离

高德地图相关api使用计算两点地理坐标之间的距离

高德地图相关api使用计算两点地理坐标之间的距离

根据高德地图得出的坐标算出两点之间的距离

在地图上如何算出两地之间距离