コード例 #1
0
ファイル: RouteModel.java プロジェクト: kwmt/kyoto-smartcycle
  public static RouteModel ParseJSON(String json) throws JSONException {
    RouteModel route = new RouteModel();

    ArrayList<Step> localSteps = new ArrayList<RouteModel.Step>();

    // JSONをパース
    JSONObject obj = new JSONObject(json);
    JSONArray routelist = obj.getJSONArray("routes");
    JSONObject mainroute = routelist.getJSONObject(0);
    JSONArray legslist = mainroute.getJSONArray("legs");
    for (int i = 0; i < legslist.length(); i++) {
      JSONArray steps = legslist.getJSONObject(i).getJSONArray("steps");
      for (int j = 0; j < steps.length(); j++) {
        Step s = route.new Step();
        JSONObject step = steps.getJSONObject(j);
        s.distance = step.getJSONObject("distance").getInt("value");
        s.duration = step.getJSONObject("duration").getInt("value");
        JSONObject st = step.getJSONObject("start_location");
        s.start_addr =
            new GeoPoint((int) (st.getDouble("lat") * 1E6), (int) (st.getDouble("lng") * 1E6));
        JSONObject en = step.getJSONObject("end_location");
        s.end_addr =
            new GeoPoint((int) (en.getDouble("lat") * 1E6), (int) (en.getDouble("lng") * 1E6));
        s.instruction = step.getString("html_instructions");
        localSteps.add(s);
      }
    }

    route.steps = new Step[localSteps.size()];
    for (int i = 0; i < localSteps.size(); i++) {
      route.steps[i] = localSteps.get(i);
    }

    return route;
  }