public static void main(String[] args) {
TrackRoute route = new TrackRoute();
route .setAddress("北京");
route .setLocation("37.4305501686,105.6718911742");
route .setToAddress("上海");
route .setToLocation("37.4742377805,105.10985620518");
//j将路线规划结果集set到Routes字段里面
trackRouteRes.setRoutes("");
String path = getPath(trackRouteRes);
System.out.println(path);
}
private static String getPath(TrackRouteRes trackRouteRes) {
String routes = trackRouteRes.getRoutes();
JSONObject jsonObject = JSONObject.parseObject(routes);
JSONArray routesArray = jsonObject.getJSONArray("routes");
StringBuilder sb = new StringBuilder();
int routeSize = routesArray.size();
for (int i = 0; i < routeSize; i++) {
Object route = routesArray.get(i);
JSONObject singleRoute = JSONObject.parseObject(route.toString());
JSONArray steps = singleRoute.getJSONArray("steps");
int stepSize = steps.size();
for (int j = 0; j < stepSize; j++) {
Object step = steps.get(j);
JSONObject singleStep = JSONObject.parseObject(step.toString());
String path = singleStep.getString("path");
String[] split = path.split(";");
int length = split.length;
for (int m = 0; m < length - 1; m++) {
String latAndLon = split[m];
if (j == stepSize - 1 && i == routeSize - 1 && m == length - 2) {
sb.append(latAndLon);
} else {
sb.append(latAndLon).append(";");
}
}
}
}
return sb.toString();
}
