curl --request POST \
--url https://api.aisa.one/apis/v1/graphhopper/get-matrix \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"point": [
"<string>"
],
"profile": "car"
}
'import requests
url = "https://api.aisa.one/apis/v1/graphhopper/get-matrix"
payload = {
"point": ["<string>"],
"profile": "car"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({point: ['<string>'], profile: 'car'})
};
fetch('https://api.aisa.one/apis/v1/graphhopper/get-matrix', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/graphhopper/get-matrix",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'point' => [
'<string>'
],
'profile' => 'car'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/graphhopper/get-matrix"
payload := strings.NewReader("{\n \"point\": [\n \"<string>\"\n ],\n \"profile\": \"car\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/graphhopper/get-matrix")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"point\": [\n \"<string>\"\n ],\n \"profile\": \"car\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/graphhopper/get-matrix")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"point\": [\n \"<string>\"\n ],\n \"profile\": \"car\"\n}"
response = http.request(request)
puts response.read_body{
"info": {
"copyrights": [
"<string>"
],
"took": 123
},
"hints": [
{
"message": "<string>",
"details": "<string>",
"point_pairs": [
[
123
]
],
"invalid_to_points": [
123
],
"invalid_from_points": [
123
]
}
],
"times": [
[
123
]
],
"weights": [
[
123
]
],
"distances": [
[
123
]
]
}Get Matrix
curl --request POST \
--url https://api.aisa.one/apis/v1/graphhopper/get-matrix \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"point": [
"<string>"
],
"profile": "car"
}
'import requests
url = "https://api.aisa.one/apis/v1/graphhopper/get-matrix"
payload = {
"point": ["<string>"],
"profile": "car"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({point: ['<string>'], profile: 'car'})
};
fetch('https://api.aisa.one/apis/v1/graphhopper/get-matrix', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/graphhopper/get-matrix",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'point' => [
'<string>'
],
'profile' => 'car'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/graphhopper/get-matrix"
payload := strings.NewReader("{\n \"point\": [\n \"<string>\"\n ],\n \"profile\": \"car\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/graphhopper/get-matrix")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"point\": [\n \"<string>\"\n ],\n \"profile\": \"car\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/graphhopper/get-matrix")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"point\": [\n \"<string>\"\n ],\n \"profile\": \"car\"\n}"
response = http.request(request)
puts response.read_body{
"info": {
"copyrights": [
"<string>"
],
"took": 123
},
"hints": [
{
"message": "<string>",
"details": "<string>",
"point_pairs": [
[
123
]
],
"invalid_to_points": [
123
],
"invalid_from_points": [
123
]
}
],
"times": [
[
123
]
],
"weights": [
[
123
]
],
"distances": [
[
123
]
]
}请求规范
- 方法与路径: POST /apis/v1/graphhopper/get-matrix
- 可用状态: enabled
- 请求 URL 模板:
https://api.aisa.one/apis/v1/graphhopper/get-matrix - Runtime 事实版本: 6a72f8e2fa7fb1c29379e3b24b3a247c8428a3b6ed621b3f84f84e75cb0de2bc
{
"operationId": "graphhopper.get-matrix",
"method": "POST",
"path": "/apis/v1/graphhopper/get-matrix",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [],
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"point": {
"items": {
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array",
"description": "Specify multiple points in 'latitude,longitude' format for which the matrix should be calculated. The starts are identical to the destinations. If there are N points, then NxN entries will be calculated. Specify at least three points. Cannot be used together with from_point or to_point."
},
"profile": {
"enum": [
"car"
],
"type": "string",
"description": "The routing profile. It determines the network, speed and other physical attributes used when computing the route. Valid values include 'car', 'bike', 'foot', 'hike', 'mtb', 'racingbike', 'scooter', 'truck', and 'small_truck'."
},
"curbside": {
"type": "array",
"items": {
"enum": [
"any",
"left",
"right"
],
"type": "string"
},
"description": "Optional parameter. Specifies on which side a point should be relative to the driver when she leaves/arrives at a start/target/via point. Must be 'any', 'left', or 'right'. Specify for either none or all points."
},
"to_point": {
"type": "array",
"items": {
"type": "string"
},
"examples": [
[
"48.1351,11.5820",
"53.5511,9.9937"
]
],
"description": "The destination points for the routes in 'latitude,longitude' format. Use together with from_point for asymmetric matrices."
},
"fail_fast": {
"type": "boolean",
"default": true,
"description": "Specifies whether or not the matrix calculation should return with an error as soon as possible in case some points cannot be found or some points are not connected. If set to false, the matrix will be calculated for all valid points and contain null values for entries that could not be calculated."
},
"out_array": {
"type": "array",
"items": {
"enum": [
"weights",
"times",
"distances"
],
"type": "string"
},
"examples": [
[
"times",
"distances"
]
],
"description": "Specifies which arrays should be included in the response. Specify one or more of 'weights', 'times', 'distances'. The units of distances are meters, times are seconds, and weights are arbitrary."
},
"from_point": {
"type": "array",
"items": {
"type": "string"
},
"examples": [
[
"52.5200,13.4050"
]
],
"description": "The origin points for the routes in 'latitude,longitude' format. Use together with to_point for asymmetric matrices."
},
"point_hint": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional parameter. Specifies a hint for each point parameter to prefer a certain street for the closest location lookup."
},
"to_curbside": {
"type": "array",
"items": {
"enum": [
"any",
"left",
"right"
],
"type": "string"
},
"description": "Curbside setting for the to_point parameter. Must be 'any', 'left', or 'right'."
},
"from_curbside": {
"type": "array",
"items": {
"enum": [
"any",
"left",
"right"
],
"type": "string"
},
"description": "Curbside setting for the from_point parameter. Must be 'any', 'left', or 'right'."
},
"to_point_hint": {
"type": "array",
"items": {
"type": "string"
},
"description": "For the to_point parameter. Specifies a hint to prefer a certain street for the closest location lookup."
},
"from_point_hint": {
"type": "array",
"items": {
"type": "string"
},
"description": "For the from_point parameter. Specifies a hint to prefer a certain street for the closest location lookup."
},
"snap_prevention": {
"type": "array",
"items": {
"enum": [
"motorway",
"trunk",
"ferry",
"tunnel",
"bridge",
"ford"
],
"type": "string"
},
"description": "Optional parameter to prevent snapping to specific types of roads. Supported values: 'motorway', 'trunk', 'ferry', 'tunnel', 'bridge', 'ford'."
}
},
"required": [
"point",
"profile"
]
}
}
}
},
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"cost_contract": "response_units",
"customer_multiplier": 1.0,
"customer_pricing": "provider_cost_multiplier",
"default_request_estimate_usd": 0.0803,
"estimate_source": "profile_seed",
"evidence_source": "response_body",
"maximum_units": 10000000,
"unit": "provider_credit",
"unit_rate_usd": 1e-06
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
费用与请求规则
按用量计费;默认请求预估费用:$0.0803 USD(不是固定价格)。 声明的单位费率:每 provider_credit $0.000001 USD。 最终费用以账户适用价格及实际结算为准。 公开参考值不是你的账户报价或最终扣费。对于支持 X-AISA-Cost-Mode: quote 的接口,执行前请针对完整请求获取免费报价;执行后通过响应费用元数据和 Usage Logs 核对结算费用。1 USD 等于 1,000,000 个整数 micro-USD。- 默认请求参考估价(USD): 0.0803
- 声明的单位费率(USD): 1e-06
- 计费单位: provider_credit
- 计费依据: response_units
- 公开参考倍率: 1.0
- 声明的最大计数或单位数: 10000000
- 结算证据来源: response_body
授权
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
请求体
Specify multiple points in 'latitude,longitude' format for which the matrix should be calculated. The starts are identical to the destinations. If there are N points, then NxN entries will be calculated. Specify at least three points. Cannot be used together with from_point or to_point.
1 - 20 elementsThe routing profile. It determines the network, speed and other physical attributes used when computing the route. Valid values include 'car', 'bike', 'foot', 'hike', 'mtb', 'racingbike', 'scooter', 'truck', and 'small_truck'.
car Optional parameter. Specifies on which side a point should be relative to the driver when she leaves/arrives at a start/target/via point. Must be 'any', 'left', or 'right'. Specify for either none or all points.
any, left, right The destination points for the routes in 'latitude,longitude' format. Use together with from_point for asymmetric matrices.
["48.1351,11.5820", "53.5511,9.9937"]
Specifies whether or not the matrix calculation should return with an error as soon as possible in case some points cannot be found or some points are not connected. If set to false, the matrix will be calculated for all valid points and contain null values for entries that could not be calculated.
Specifies which arrays should be included in the response. Specify one or more of 'weights', 'times', 'distances'. The units of distances are meters, times are seconds, and weights are arbitrary.
weights, times, distances ["times", "distances"]
The origin points for the routes in 'latitude,longitude' format. Use together with to_point for asymmetric matrices.
["52.5200,13.4050"]
Optional parameter. Specifies a hint for each point parameter to prefer a certain street for the closest location lookup.
Curbside setting for the to_point parameter. Must be 'any', 'left', or 'right'.
any, left, right Curbside setting for the from_point parameter. Must be 'any', 'left', or 'right'.
any, left, right For the to_point parameter. Specifies a hint to prefer a certain street for the closest location lookup.
For the from_point parameter. Specifies a hint to prefer a certain street for the closest location lookup.
Optional parameter to prevent snapping to specific types of roads. Supported values: 'motorway', 'trunk', 'ferry', 'tunnel', 'bridge', 'ford'.
motorway, trunk, ferry, tunnel, bridge, ford