如何解决使用谷歌API获取基于谷歌URL的路线距离
我想获得#include <iostream>
void MyFunc(int a,int b,int c)
{
std::cout << "3-argument version called." << std::endl;
}
void MyFunc(int a,int c,int d)
{
std::cout << "4-argument version called." << std::endl;
}
int main()
{
MyFunc(1,2,3);
MyFunc(1,3,4);
}
,并最终获得其他通过distance
请求的信息。我收到了Google google API
。正如您在下面看到的,我有一个通用模板,我在程序运行时填写该模板,其中可能包含航路点和旅行模式。通过API key
来获取距离和其他信息的Google API请求是什么?
JSON
解决方法
摘自here的Google文档-您将需要使用Distance Matrix API。
请求将类似于:
https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Washington,DC&destinations=New+York+City,NY&key=YOUR_API_KEY
用您的密钥替换YOUR_API_KEY占位符。
响应将是以下格式的Json:
{
"destination_addresses" : [ "New York,NY,USA" ],"origin_addresses" : [ "Washington,DC,"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "225 mi","value" : 361715
},"duration" : {
"text" : "3 hours 49 mins","value" : 13725
},"status" : "OK"
}
]
}
],"status" : "OK"
}
如果您没有正确的API密钥,请执行以下操作:
- 登录您的Google Cloud Platform Console
- 添加您的项目并添加API。请注意,距离 Matrix API不是免费的。
- 执行此操作后,您将获取API密钥。
编辑
如果您需要添加多个航路点,则需要使用其他API,请参见documentation Maps JavaScript API Directions Service。简而言之,它与Google Map相同。
它允许您添加航路点数组。再次,它不是免费的-它是一种现收现付服务。
DirectionsResult
对象将包含Directions Legs
(以米为单位的距离)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。