承载协议 | HTTPS POST |
|---|---|
接口方向 | 开发者 -> 华为导航服务器 |
接口URL | https://mapapi.cloud.huawei.com/mapApi/v1/routeService/walkingMatrix?key=API KEY 说明:
|
数据格式 | 请求消息:Content-Type: application/json 响应消息:Content-Type: application/json |
Rquest Body
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
origin | 是 | 起点的经纬度,不能超过100个。 | |
destination | 是 | 终点的经纬度,不能超过100个。 说明:
| |
language | 否 | String(<=6) | 文字指引/描述的语种。目前只支持zh_CN和en。 |
avoid | 否 | int[] | 表示计算出的路径应避免所指示的特性。取值包括:
默认值为0。 |
POST https://mapapi.cloud.huawei.com/mapApi/v1/routeService/walkingMatrix?key=API KEY HTTP/1.1 Content-Type: application/json Accept: application/json { "origins": [ { "lng": 2.359782, "lat": 48.862544 }, { "lng": 2.358537, "lat": 48.861443 } ], "destinations": [ { "lng": 2.361702, "lat": 48.86042 } ], "language": "en" }
状态码为200时:
Response Header
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Content-Type | 是 | application/json | 响应消息的数据格式。 |
Response Body
状态码为200时:
HTTP/1.1 200 OK
Content-type: application/json
{
"originAddresses": [
"76, Rue des Archives, 75003, Le Marais, 3e Arrondissement, Paris, Île-de-France, France",
"62, Rue des Archives, 75003, 3e Arrondissement, Paris, Île-de-France, France"
],
"returnCode": "0",
"destinationAddresses": [
"101 T, Rue Des Coutures Saint-Gervais, 75003, 3e Arrondissement, Paris, Île-de-France, France"
],
"rows": [
{
"cells": [
{
"duration": 268.684,
"durationText": "4min",
"distance": 353.573,
"distanceText": "354m",
"status": 0
}
]
},
{
"cells": [
{
"duration": 256.39,
"durationText": "4min",
"distance": 352.386,
"distanceText": "352m",
"status": 0
}
]
}
],
"returnDesc": "OK"
} public class MatrixService {
public static final String ROOT_URL = "https://mapapi.cloud.huawei.com/mapApi/v1/routeService/walkingMatrix";
public static final String connection = "?key=";
public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
public static void matrixWalking(String apiKey) throws UnsupportedEncodingException {
JSONObject json = new JSONObject();
JSONArray origin = new JSONArray();
JSONObject startingPoint_1 = new JSONObject();
JSONObject startingPoint_2 = new JSONObject();
JSONArray destination = new JSONArray();
JSONObject endPoint = new JSONObject();
try {
startingPoint_1.put("lng", 2.359782);
startingPoint_1.put("lat", 48.862544);
startingPoint_2.put("lng", 2.358537);
startingPoint_2.put("lat", 48.861443);
origin.put(0, startingPoint_1);
origin.put(1, startingPoint_2);
endPoint.put("lng", 2.361702);
endPoint.put("lat", 48.860420);
destination.put(0, endPoint);
json.put("origins", origin);
json.put("destinations", destination);
json.put("language", "en");
} catch (JSONException e) {
Log.e("error", e.getMessage());
}
RequestBody body = RequestBody.create(JSON, String.valueOf(json));
OkHttpClient client = new OkHttpClient();
Request request =
new Request.Builder().url(ROOT_URL + connection + URLEncoder.encode(apiKey, "UTF-8"))
.post(body)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.e("MatrixWalking", e.toString());
}
@Override
public void onResponse(Call call, Response response) throws IOException {
Log.d("MatrixWalking", response.body().string());
}
});
}
}