显示用户位置附近的位置

时间:2019-05-14 13:37:59

标签: android mapbox mapbox-android

我正在开发一个应用,并且正在尝试使用android mapbox SDK实现一种列出靠近用户当前位置的商店的方法。谁能帮我该怎么实现?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

您应该计算用户位置和商店位置之间的距离,可以使用以下方法进行操作:

private static double distance(double lat1, double lon1, double lat2, double lon2, String unit) {
    if ((lat1 == lat2) && (lon1 == lon2)) {
        return 0;
    }
    else {
        double theta = lon1 - lon2;
        double dist = Math.sin(Math.toRadians(lat1)) * Math.sin(Math.toRadians(lat2)) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.cos(Math.toRadians(theta));
        dist = Math.acos(dist);
        dist = Math.toDegrees(dist);
        dist = dist * 60 * 1.1515;
        if (unit == "K") {
            dist = dist * 1.609344;
        } else if (unit == "N") {
            dist = dist * 0.8684;
        }
        return (dist);
    }
}