计算距离& android map V2中两个位置之间的时间

时间:2014-02-25 05:24:53

标签: android android-maps-v2

我正在做一个Android应用程序,我需要找到距离&通过在android mapV2中给出两个lat / lang点来两个位置之间的旅行时间。

我将该示例用作http://wptrafficanalyzer.in/blog/driving-distance-and-travel-time-duration-between-two-locations-in-google-map-android-api-v2/

但是这个例子将点击位置作为源和&目的地位置。但我需要给出lat / lang值和&需要计算那个距离&这两个职位的时间价值。我怎么能这样做?谢谢。

1 个答案:

答案 0 :(得分:0)

通过解析这个谷歌地图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);
            }

                }

这里“finalDistanceWithoutAddVia”将是距离。