我正在对Google Maps Distance Matrix API执行请求,以计算从一个点到另一个点的距离.这两点都在俄罗斯.问题是,在某些情况下,API会返回错误的目标.
它回来了
"destination_addresses" : [
"1 Chome-11 Kamifukubara, Yonago-shi, Tottori-ken 683-0004, Japan"
],...
Run Code Online (Sandbox Code Playgroud)
因此,谷歌地图知道它是俄罗斯,但距离矩阵认为它是日本.为什么?
海岸附近的地方是否有已知的虫子?
UPDATE
此问题已在问题跟踪器https://issuetracker.google.com/issues/35828610中处理.它于2016年7月19日被标记为固定.
每个Google,
"从2018年6月11日开始,您需要使用信用卡启用结算并为所有项目提供有效的API密钥.这将使您能够轻松扩展,减少停机时间并减少性能问题.此外,我们将我们的18个独立API简化为三种产品:地图,路线和地点."
然而,谷歌并没有在任何地方说它是否是一个硬盘.如果我不启用结算帐户而不添加信用卡信息该怎么办?2018年6月11日之后,我仍然可以访问Google API,例如地图,路线,地理编码吗?
google-maps google-maps-api-3 google-geocoding-api google-distancematrix-api
我正在寻找一种方法,使用Google Maps API v3根据路线的起点,航点和目的地计算美国各州的里程数.
我曾尝试使用谷歌距离矩阵API,但这是计算2点之间的距离,这是好的,但我需要分解每个州旅行的里程数.用于税收目的(IFTA运输报告).
我做了很多谷歌搜索并查看了文档,但我没有看到任何计算每个州的里程数.
我知道如何使用谷歌地图,我知道这是可能的,因为我在一个视频上看到它.没有我能展示的代码,因为我不知道该怎么做.有什么想法吗?
我找到的有用链接:
如何使用Google Map API V3绘制路线并在飞行中计算路线时间和距离http://www.c-sharpcorner.com/UploadFile/8911c4/how-to-draw-routes-and-calculate-route-time-和距离上/
如何使用Google Maps API构建远程查找器http://www.1stwebdesigner.com/distance-finder-google-maps-api/
在格式化网址后,我尝试在项目中使用Google Distance Matrix API JSON,例如:
http://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver+BC|Seattle&destinations=San+Francisco|Victoria+BC&mode=bicycling&language=en&sensor=false
Run Code Online (Sandbox Code Playgroud)
我能够在浏览器中查看结果,但是当我尝试发出http请求以获得结果时,我将收到状态:REQUEST_DENIED
在文档中:
REQUEST_DENIED表示服务拒绝您的应用程序使用Distance Matrix服务.
但我仍然不知道为什么我的请求被拒绝.来自谷歌的更多信息:
使用距离矩阵API必须与Google地图上的信息显示相关; 例如,在请求并在地图上显示那些目的地之前,确定彼此在特定驾驶时间内的起始 - 目的地对.禁止在不显示Google地图的应用程序中使用该服务.
如果我无法获得结果,我该如何在谷歌地图上应用它?谁有同样的问题?我稍后会发布示例代码,以便更清楚地澄清我的问题.
distance google-api matrix google-maps-api-3 google-distancematrix-api
我使用DistanceMatrix API同时使用"duration_in_traffic"和"duration"功能.
对于给定的坐标对,我看到以下结果:
{
"destination_addresses": [
"Hamburg, Germany"
],
"origin_addresses": [
"85748 Garching, Germany"
],
"rows": [
{
"elements": [
{
"distance": {
"text": "761 km",
"value": 760831
},
"duration": {
"text": "7 hours 1 min",
"value": 25242
},
"duration_in_traffic": {
"text": "6 hours 42 mins",
"value": 24145
},
"status": "OK"
}
]
}
],
"status": "OK"
}
Run Code Online (Sandbox Code Playgroud)
这是我的问题:
如何持续时间_in_traffic小于持续时间?
据我所知:
持续时间:路线上的旅行持续时间......不确定是否没有交通
Duration_in_traffic:交通条件下路线的行程持续时间.
对此的任何解释将不胜感激.
javascript google-maps google-maps-api-3 google-distancematrix-api
我需要计算多种旅行模式的时间和距离,我尝试通过|分隔多个旅行模式 像这样:
https://maps.googleapis.com/maps/api/distancematrix/json?origins=E149AQ&destinations=UB83PH|NW14SA|WC1E7HU|N78DB&mode=walking|bicycling|driving&language=en-GB&key=myKeyRun Code Online (Sandbox Code Playgroud)
但它不像我预期的那样有效.
我在我的 Java 项目中添加了Google Maps API Java Client的依赖项。我有一组起始距离、目的地距离以及 GeoApiContext 如下:
GeoApiContext context = new GeoApiContext().setApiKey(MY_API_KEY);
String[] destinationAddress = {"40.7127837,-74.0059413", "33.9533487,-117.3961564", "38.6270025,-90.19940419999999"};
String[] originAddress = {"12.8445,80.1523"};
Run Code Online (Sandbox Code Playgroud)
我想获得这些点之间的(飞机?)距离。我知道我们可以发送一个简单的 HTTP 请求,例如https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=40.6655101,-73.89188969999998&destinations=40.690515%73.6334271&key=YOUR_API_KEY
But I want to use the JAVA Google Maps API。我试图做的DistanceMatrixApiRequest s = DistanceMatrixApi.getDistanceMatrix(context, originAddress, destinationAddress);,但没有getArrivalTimes或getDistanceMatrix或反正发送请求。我很困扰。请帮忙。谢谢
在阅读文档https://developers.google.com/maps/documentation/distance-matrix/intro 时 ,departure_time必须在未来设置并基于January 1, 1970 UTC 00:00:00. 这告诉我,如果我在 CT 时区的工作日期间运行距离矩阵 API 请求,我需要计算从明天早上(CT 时间)1/1/1970 00:00:00 UTC到某个未来时间的秒数。示例:今天是,计算的秒数应该是和– 6 hours ( ) I insert之间的秒数。请问有人成功使用过这个可选参数吗?03:00:00UTC-65/31/20171/1/1970 00:00:001/1/2017 03:00:001496286000 – 360 = 1496285640departure_time=1496285640
我正在尝试开发一些涉及在两个地理位置之间找到距离的东西.
源和目标有很多这样的组合,我在循环中传入google distance API.
我的部分代码:
key_list = [****,****,....] #google key list
base_url = 'https://maps.googleapis.com/maps/api/distancematrix/json?'
for i in geocodes:
for j in key_list:
origin_part = 'origins=' + i[0] + "," + i[1]
destination_part = '&destinations=' + i[2] + "," + i[3]
api_url = base_url + origin_part + destination_part + key
json_response = requests.get(api_url,timeout=10).json()
if json_response["status"] == "OVER_QUERY_LIMIT":
j += 1
i -= 1
Run Code Online (Sandbox Code Playgroud)
这只是我代码的一部分.
geocodes 是包含子列表的嵌套列表
[[source_latitude,source_longitude,destination_latitude,destination_longitude],....]
代码运行正常一段时间,但过了一段时间,它给了我一个错误说:
HTTPSConnectionPool(host='maps.googleapis.com', port=443): Max retries exceeded with url: /maps/api/distancematrix/json?origins=xx,xx&destinations=xx,xx&key=xxxxx
(Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at …Run Code Online (Sandbox Code Playgroud) python google-maps-api-3 python-3.x python-requests google-distancematrix-api
我正在使用 Google Maps API 的 Python 客户端库(Github 链接)。
我想获得duration_in_traffic以下旅行的数据:
Address1到Address2
Address2到Address1
Address1到Address3
Address3到Address1
但 Google Distance Matrix API(文档)的语法因其自以为是而存在问题。它假设用户想要所有可能的起始地址和目的地地址配对的数据。
问题是以下代码(源代码)...
origins = [Address1, Address2, Address3]
destinations = [Address1, Address2, Address3]
matrix = client.distance_matrix(origins, destinations,
mode="driving",
language="en",
units="imperial",
departure_time=now,
traffic_model="best_guess")
Run Code Online (Sandbox Code Playgroud)
当我只需要前面提到的四个结果时,会产生九个结果(即出发地-目的地配对的每种可能的组合)。
我意识到我可以解析这些结果以仅提取我需要的四个持续时间,但我不想通过强制脚本下载我不需要的数据来不必要地使脚本的执行时间加倍。
我还意识到,我可以发送 4 个单独的请求来获取我想要的持续时间(即每个请求一个配对),但我试图不超过我的免费非高级 Distance Matrix API 帐户的配额。
那么,是否可以在同一请求中指定起点-目的地配对?
python google-maps-api-3 google-distancematrix-api o-d-matrix
google-maps ×5
python ×2
distance ×1
google-api ×1
java ×1
javascript ×1
matrix ×1
o-d-matrix ×1
python-3.x ×1