【问题标题】:google direction gives 0 values谷歌方向给出0值
【发布时间】:2015-12-05 11:37:03
【问题描述】:

嘿,我使用谷歌方向来获取它的工作时间,但有时它会返回 0 值到 json 数组路由。当我在返回值后的一天进行测试时。每天的谷歌方向请求有什么限制吗?

这是我获取持续时间的函数

public String getDistanceInfo(LatLng origin, LatLng dest) {
			StringBuilder stringBuilder = new StringBuilder();
			String str_origin = "origin=" + origin.latitude + "," + origin.longitude;

			// Destination of route
			String str_dest = "destination=" + dest.latitude + "," + dest.longitude;

			String dura = "";
			try {

				String sensor = "sensor=false";
				String output = "json";
				String mode = "mode=walking";
				String parameters = str_origin + "&" + str_dest + "&" + sensor + "&" + mode;

				// Output format


				// Building the url to the web service
				String url = "https://maps.googleapis.com/maps/api/directions/" + output + "?" + parameters;


				//String url = "http://maps.googleapis.com/maps/api/directions/json?origin=" + str_origin + "," + str_dest + "&destination=" + destinationAddress + "&mode=driving&sensor=false";

				HttpPost httppost = new HttpPost(url);

				HttpClient client = new DefaultHttpClient();
				HttpResponse response;
				stringBuilder = new StringBuilder();


				response = client.execute(httppost);
				HttpEntity entity = response.getEntity();
				InputStream stream = entity.getContent();
				int b;
				while ((b = stream.read()) != -1) {
					stringBuilder.append((char) b);
				}
			} catch (ClientProtocolException e) {
			} catch (IOException e) {
			}

			JSONObject jsonObject = new JSONObject();
			try {

				jsonObject = new JSONObject(stringBuilder.toString());

				JSONArray array = jsonObject.getJSONArray("routes");

				JSONObject routes = array.getJSONObject(0);

				JSONArray legs = routes.getJSONArray("legs");

				JSONObject steps = legs.getJSONObject(0);

				JSONObject duration = steps.getJSONObject("duration");
				dura = duration.getString("text");

			} catch (JSONException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

			return dura;
		}

org.json.JSONException: Index 0 out of range [0..0)
org.json.JSONArray.get(JSONArray.java:282)
org.json.JSONArray.getJSONObject(JSONArray.java:510)

【问题讨论】:

  • 如果它给出零值..原因可能是没有可能的路径
  • @ManishNegi 它给 0 jsonArray 路由没有价值
  • 你能把消息贴在这里吗?
  • JSONArray routesArray = resultObj.getJSONArray("routes");错误指向这一行
  • 对于哪个 jsonArray 你得到这个错误.. 数组还是腿?无论它是哪个数组都没有任何值

标签: android google-maps google-api google-directory-api


【解决方案1】:

检查您的 JSON 响应中是否也收到类似的内容,但持续时间为 0。

{"status":"OVER_QUERY_LIMIT","routes":[]}.

这意味着您超出了 Direction API 使用的限制。请注意,对于标准版,每天只有 2,500 个免费路线请求可用。如果您需要更多要求,则需要额外收费。

查看Google Maps Directions API Usage Limits的官方文档了解更多详情。

【讨论】:

    猜你喜欢
    • 2020-12-03
    • 2023-03-04
    • 2013-08-20
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    相关资源
    最近更新 更多