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

在android地图V2中计算两个位置之间的距离和时间

萧宣
2023-03-14

但是这个示例将敲击位置作为源位置和目标位置。但是我需要给出lat/lang值&需要计算这两个位置的距离和时间值。我怎么做呢?谢谢。

共有1个答案

皇甫雨石
2023-03-14

通过解析这个google map API:http://maps.googleapis.com/maps/api/geocode/json?latlng=“+lat+”,“+lon+&sensor=true”

然后通过地址得到两点之间的距离。

那么对于距离来说,你应该试试这个,在我的情况下,它非常有效:

 JSONParser jParser = new JSONParser();
                String finalpickmefrom_encoded;
                try {
                    finalpickmefrom_encoded = URLEncoder.encode(finalpickmefrom,"UTF-8");
                    String finaldropmeat_encoded = URLEncoder.encode(finaldropmeat,"UTF-8");
                    addressURLLL = "http://maps.googleapis.com/maps/api/directions/json?origin="+finalpickmefrom_encoded+"&destination="+finaldropmeat_encoded+"&sensor=false";

                    Log.e("Address","URL"+addressURLLL);
                } catch (UnsupportedEncodingException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                 JSONObject json = jParser.getJSONFromUrl(addressURLLL);
                JSONArray addressComp = json.getJSONArray(TAG_SHOW);

                for(int i =0;i<addressComp.length();i++)
                {
                    JSONObject cc = addressComp.getJSONObject(i);

                    JSONArray legss = cc.getJSONArray("legs");

                    for (int j = 0; j < legss.length(); j++) {

                        JSONObject c = legss.getJSONObject(j);
                        JSONObject long_name = c.getJSONObject("distance");
                        String withoutaddvia = long_name.getString("text");
                        String [] strwithout = withoutaddvia.split("\\s+");

                        finalDistanceWithoutAddVia = strwithout[0];
                        String str2 = strwithout[1];

                        String valuess = long_name.getString("value");


                    Log.e("PostalCode","1>>"+long_name);
                    Log.e("PostalCode","2>>"+finalDistanceWithoutAddVia);
                   Log.e("PostalCode","3>>"+valuess);
            }

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

  • 问题内容: 我需要创建一个类来计算两点之间的距离。我被困住了,我是一个完全的初学者。这是我的课程: 第二课。 我不确定如何在两个定义的点之间获取点对象(中间点)。 我可以创建点对象,但不确定如何通过位于这两个点对象之间的方法返回点对象。 问题答案: 平面上的两个点(x1,y1)和(x2,y2)之间的距离为: 但是,如果您想要的只是两个点的中点,则应将中点函数更改为: 这将返回一个全新的点对象,其点

  • 问题内容: 您如何计算Google Maps V3中两个标记之间的距离?(类似于inV2中的功能。) 谢谢.. 问题答案: 如果要自己计算,可以使用Haversine公式:

  • 问题内容: 我对计算两个numpy数组(x和y)之间的各种空间距离感兴趣。 http://docs.scipy.org/doc/scipy-0.14.0/reference/generation/scipy.spatial.distance.cdist.html 但是,以上结果会产生太多不必要的结果。我如何仅将其限制为所需的结果。 我想计算[1,11]和[31,41]之间的距离;[2,22]和[3

  • 我对计算两个numpy阵列(x和y)之间的各种空间距离感兴趣。 http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.spatial.distance.cdist.html 但是,上述结果会产生太多不需要的结果。我怎样才能限制它只用于我所需的结果。 我想计算[1,11]和[31,41]之间的距离;[2,22]和[32,42

  • 问题内容: 我在查询中使用带轮胎的过滤器,效果很好: 我希望结果将以某种方式包括我用于过滤器的地理位置的计算距离。 有没有办法告诉Elasticsearch在响应中包括它,这样我就不必为每个结果都用ruby计算它? ==更新== 我在一个Google网上论坛中找到了答案: 按排序将得出原始结果中的距离。 问题答案: 排序依据将返回结果中的距离:http : //www.elasticsearch.