/**
* 冒泡过滤算法
*/
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)
}
上面的问题在哪里,需要加上下面才会跳出循坏
run outSide@{
//上图代码第四行,直到
if(gasIdSet.size > 3) return@outSide
}