当前位置: 首页 > 知识库问答 >
问题:

当前位置与polyline Google Maps Api V2之间的距离

葛宪
2023-03-14
private void drawRoute(List<LatLng> list) {
    if ((list != null) && (list.size() > 0)) {
        polylineOptions = new PolylineOptions()
                .addAll(list)
                .width(8);
        map.addPolyline(polylineOptions);

        CircleOptions circleOptions;
        for (int i = 0; i < polylineOptions.getPoints().size(); i++) {
            LatLng point = polylineOptions.getPoints().get(i);
            circleOptions = new CircleOptions()
                    .center(new LatLng(point.latitude, point.longitude))
                    .strokeColor(Color.TRANSPARENT)
                    .strokeWidth(1)
                    .fillColor(Color.argb(100, 164, 171, 167))
                    .radius(10);
            map.addCircle(circleOptions);
        }
    } else {
        Log.i("Msg", "No routes");
    }
}
private double getDistance(LatLng originPoint, LatLng destinyPoint) {
    try {
        Location origin = new Location("Origin point");
        origin.setLatitude(originPoint.latitude);
        origin.setLongitude(originPoint.longitude);
        Location destiny = new Location("Destiny point");
        destiny.setLatitude(destinyPoint.latitude);
        destiny.setLongitude(destinyPoint.longitude);
        return origin.distanceTo(destiny);
    } catch (Exception e) {
        Log.e("Msg", e.getMessage());
        return 0d;
    }
}

我不知道是否有办法在用户当前位置周围的圆圈中找到一条折线,并计算出该折线与当前位置之间的距离。我一直在搜索,但我找到的代码是在V3中,我正在启动Android应用程序。我很感激你的帮助!

共有1个答案

上官霄
2023-03-14

好吧,如果您需要它,我用下面的代码解析它:

    @Override
    protected Boolean doInBackground(List<LatLng>... params) {
        publishProgress();
        List<LatLng> list = params[0];
        LatLng currentPosition = list.get(0);
        for (int i = 1; i < list.size(); i++) {
            if (obtenerDistancia(currentPosition, list.get(i)) <= 100) {
                return false;
            }
        }
        return true;
    }

其中list=当前位置+polyline.getpoints()

列表[0]=当前位置;

 类似资料:
  • 我有http://www.codereye.com/2010/10/how-to-calculate-distance-between-2.html的这段代码,它根据两个IP地址对应的纬度和经度计算它们之间的大致物理距离。 lat和long是有符号值。但是,此代码有时会将dist返回为NaN。 我错过什么了吗?θ需要是绝对值吗? 更新:返回南的测试值:- lat1=-23.5477,lon1=-4

  • 返回当前日期: .fullCalendar('getDate') 点击按钮显示当前时间的例子: $('#my-button').click(function() { var d = $('#calendar').fullCalendar('getDate'); alert("The current date of the calendar is " + d); }); 官方英文文档

  • 日程表前进或者后退任意的时间: .fullCalendar('incrementDate', years [, months, [ days ]]) 举例,日程表前进3个月: $('#calendar').fullCalendar('incrementDate', 0, 3, 0); 日程表后退2个月 $('#calendar').fullCalendar('incrementDate', 0,

  • 日程表跳转到任意日期: .fullCalendar('gotoDate', year [, month, [ date ]]) 需要注意,月是从0开始的。此方法也可以使用一个参数,一个Date对象(版本大于1.3.2) 官方英文文档:http://arshaw.com/fullcalendar/docs/current_date/gotoDate/

  • 日程表跳到今天: .fullCalendar('today') 外部按钮跳转到今天的例子: $('#my-today-button').click(function() { $('#calendar').fullCalendar('today'); }); 官方英文文档:http://arshaw.com/fullcalendar/docs/current_date/today/

  • 日程表前进一年: .fullCalendar('nextYear') 1.3.x版本没有此方法,可以使用 .fullCalendar(‘incrementDate’, 1) 代替 官方英文文档:http://arshaw.com/fullcalendar/docs/current_date/nextYear/