당신이 찾고있는 옷장은 거리 매트릭스 API라고 생각합니다. 여기에 문서를 참조하십시오 :이 확실히 정확하게 당신이 찾고있는 아니라고
https://developers.google.com/maps/documentation/distance-matrix/start
참고하지만, 구글이 제공하는 가장 가까운 것입니다. 예를 들어 요청을 참조하십시오 : 이것은 모든 목적지에 대한 모든 근원에서 당신에게 거리를 줄 것이다
https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Washington,DC|Houston,TX|New+York+City,NY&destinations=Washington,DC|Houston,TX|New+York+City,NY&key=MY_API_KEY
. 귀하의 유스 케이스와 함께 작동하려면 위의 예에서와 같이 원래와 목적지가 동일해야합니다. 내 예에서 API는 다음 반환
{
"destination_addresses" : [ "Washington, DC, USA", "Houston, TX, USA", "New York, NY, USA" ],
"origin_addresses" : [ "Washington, DC, USA", "Houston, TX, USA", "New York, NY, USA" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "1 ft",
"value" : 0
},
"duration" : {
"text" : "1 min",
"value" : 0
},
"status" : "OK"
},
{
"distance" : {
"text" : "1,408 mi",
"value" : 2266226
},
"duration" : {
"text" : "20 hours 22 mins",
"value" : 73331
},
"status" : "OK"
},
{
"distance" : {
"text" : "225 mi",
"value" : 361722
},
"duration" : {
"text" : "3 hours 48 mins",
"value" : 13672
},
"status" : "OK"
}
]
},
{
"elements" : [
{
"distance" : {
"text" : "1,409 mi",
"value" : 2266981
},
"duration" : {
"text" : "20 hours 28 mins",
"value" : 73678
},
"status" : "OK"
},
{
"distance" : {
"text" : "1 ft",
"value" : 0
},
"duration" : {
"text" : "1 min",
"value" : 0
},
"status" : "OK"
},
{
"distance" : {
"text" : "1,628 mi",
"value" : 2620605
},
"duration" : {
"text" : "23 hours 44 mins",
"value" : 85438
},
"status" : "OK"
}
]
},
{
"elements" : [
{
"distance" : {
"text" : "226 mi",
"value" : 364085
},
"duration" : {
"text" : "3 hours 53 mins",
"value" : 13965
},
"status" : "OK"
},
{
"distance" : {
"text" : "1,627 mi",
"value" : 2618345
},
"duration" : {
"text" : "23 hours 43 mins",
"value" : 85385
},
"status" : "OK"
},
{
"distance" : {
"text" : "1 ft",
"value" : 0
},
"duration" : {
"text" : "1 min",
"value" : 0
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
당신은 세 가지 위치에 모든 네게 위치에서의 거리가 성공적으로 반환되는 것을 볼 수 있습니다. 뿐만 아니라 마음이 API의 사용 제한을 보관하십시오 :
표준 프로젝트로
https://developers.google.com/maps/documentation/distance-matrix/usage-limits
, 당신은 요청에 따라 100 개 요소의 최대 수 있습니다. 요소를 얻으려면 출발지 수와 목적지 수를 곱하면됩니다. 표준 프로젝트를 통해 10 개의 목적지와 10 개의 출발점을 가질 수 있습니다. 즉, 단일 요청으로 100 개 위치에 대해이 작업을 수행 할 수 없습니다. 프리미엄 프로젝트가없는 경우 10 개 배치로 위치를 조정해야합니다. 프리미엄 프로젝트를 사용하면 동일한 논리를 따를 수 있지만 동시에 25 개의 위치를 사용할 수 있습니다.
나는 당신이 찾고있는 것에 대해 생각할 수있는 가장 가까운 솔루션을 알려 드리고 싶습니다. 이게 도움이 되길 바란다!
지도 API가이 문제에 대한 서비스를 제공하는지는 잘 모르지만 정보 기술의 매우 잘 알려진 문제입니다. 그 여행 세일즈맨 문제라고. NP 에서처럼 어려운 문제. 그것에 더 많은 것을 읽으십시오. 최소한 당신이 최단 경로를 찾고 싶다는 것을 이해한다면. – Blackbam
질문을 명확히하고 자신이 시도한 것을 보여줄 필요가 있습니다. 예 : 어떤 문제를 해결하려고합니까? 나는 가장 짧은 경로 (Dijkstra를 조회한다면)를 추측한다. @Blackbam은 TSP로 갔다. 아니면 Google API 질문 일 수도 있습니다. – CRD