Roads API的响应为空

时间:2018-10-13 17:05:19

标签: google-maps google-maps-api-3

我正在尝试使用Google Roads API查找距给定点的道路上最近点的GPS坐标。它仅完成对第一个给定点("originalIndex": 0)的请求;谁能解释为什么?我的API密钥是有效的,我可以在Google地图上找到第二个点,并查看附近的道路。当我自己请求第二点时,我收到空响应“ {}”。

请求:

https://roads.googleapis.com/v1/nearestRoads?points=60.170880,24.942795|-0.030331,30.513929&key=YOUR_API_KEY

响应:

{"snappedPoints": [
{
  "location": {
    "latitude": 54.9702813818773,
    "longitude": -1.6113525033160663
  },
  "originalIndex": 0,
  "placeId": "ChIJicwBW7ZwfkgRQJjXzwd96mM"
},
{
  "location": {
    "latitude": 54.9702813818773,
    "longitude": -1.6113525033160663
  },
  "originalIndex": 0,
  "placeId": "ChIJicwBW7ZwfkgRQZjXzwd96mM"
}]}

2 个答案:

答案 0 :(得分:0)

第二点(-0.030331,30.513929)离道路太远。在那种情况下,API文档会说它将返回一个空响应(“如果附近没有道路,则不会返回任何路段。”)

答案 1 :(得分:0)

您的点与道路之间的距离应在50-60米之内。如果此距离较大,服务将返回空响应。

在您的示例中,-0.030331,30.513929点很远。您可以使用地址解析器工具进行检查:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D-0.030544%252C30.514678

您会看到距离大于50米。

enter image description here

如果我选择距离道路更近的点,例如-0.027619,30.51668,则最近的道路终点将返回结果

https://roads.googleapis.com/v1/nearestRoads?points=-0.027619%2C30.51668&key=YOUR_API_KEY

之前在公共问题跟踪器中报告了类似的问题:

https://issuetracker.google.com/issues/37843707

我希望这能解决您的疑问。