我想找出两个纬度和经度之间的行驶距离。这是我的代码
私人字符串GetDistance(LatLng原点,LatLng dest){ // 路由的起源 字符串 str_origin = "origin=" + origin.latitude + "," + 原点。经度; // 路由目的地 字符串 str_dest = "destination=" + dest.latitude + "," + dest.longitude; // 传感器启用 字符串传感器=“传感器=假”; // 将参数构建到 Web 服务 字符串参数 = str_origin + "&" + str_dest + "&" + sensor; // 输出格式 字符串输出 = "json"; // 构建 Web 服务的 url 字符串 urlString = "https://maps.googleapis.com/maps/api/directions/" + 输出 + “?” +参数; // 获取 JSON 并对其进行解析以获取路线数据。 HttpURLConnection urlConnection = null; 网址网址 = 空; 尝试 { url = 新 URL(urlString.toString()); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setDoOutput(true); urlConnection.setDoInput(true); urlConnection.connect(); InputStream inStream = urlConnection.getInputStream(); BufferedReader bReader = new BufferedReader(new InputStreamReader( 流中)); 字符串温度,响应=“”; while ((temp = bReader.readLine()) != null) { // 解析数据 响应 += 温度; } // 关闭阅读器、流和连接 bReader.close(); inStream.close(); urlConnection.disconnect(); // 排序 JSON 响应 // JSONObject object = (JSONObject) new JSONTokener(response) // .nextValue(); JSONObject 对象 = 新 JSONObject(响应); JSONArray 数组 = object.getJSONArray("routes"); // Log.d("JSON","array: "+array.toString()); // 路由是对象和数组的组合 JSONObject 路由 = array.getJSONObject(0); // Log.d("JSON","routes: "+routes.toString()); 字符串摘要 = routes.getString("summary"); Log.d("JSON","summary:"+summary); JSONArray 腿 = routes.getJSONArray("legs"); // Log.d("JSON","legs: "+legs.toString()); JSONObject 步骤 = leg.getJSONObject(0); // Log.d("JSON","steps: "+steps.toString()); JSONObject 距离 = steps.getJSONObject("距离"); // Log.d("JSON","distance: "+distance.toString()); sDistance = distance.getString("text"); iDistance = distance.getInt("值"); } 捕捉(异常 e){ // TODO: 处理异常 返回 e.toString(); } 返回 sDistance; }
我得到了一个例外
org.json.JSONException: 索引 0 超出范围 [0..0)
这是我的堆栈跟踪
Ljava.lang.StackTraceElement;@41019be8
请帮我解决问题所在。