我在自定义模型中使用lat和lng数组。我想对阵列进行排序,以使距离我的位置最小距离位于顶部位置等等。根据其地理位置对阵列进行排序
这是我曾尝试
myLocation = new Location("");
myLocation.setLatitude(Double.valueOf(MyApplication.getInstance().getLatitude()));
myLocation.setLongitude(Double.valueOf(MyApplication.getInstance().getLongitude()));
Collections.sort(pings, new DistanceComparator());
private class DistanceComparator implements java.util.Comparator<PingModel>
{
@Override
public int compare(PingModel lhs, PingModel rhs)
{
Location lhsLocation = new Location("");
lhsLocation.setLatitude(Double.valueOf(lhs.latloc));
lhsLocation.setLongitude(Double.valueOf(lhs.lngloc));
Location rhsLocation = new Location("");
rhsLocation.setLatitude(Double.valueOf(lhs.latloc));
rhsLocation.setLongitude(Double.valueOf(lhs.lngloc));
return (int)rhsLocation.distanceTo(myLocation) - (int)lhsLocation.distanceTo(myLocation);
}
}
结果不知道什么样的排序它正在做,但它不是按照距离。
你可以把什么是'坪'和distanceTo() –
坪是一个自定义模型的数组,而distanceTo是一个常规的谷歌定位函数,计算距离? –