地理编码响应中的 navigation_points
字段包含一个点列表,这些点有助于前往相应地点。具体而言,在道路网络上从该地点出发或前往该地点时,它们应作为起点或终点使用。每个导航点都包含以下值:
location
包含导航点的纬度和经度值。此位置始终非常靠近道路网络,是前往或离开某个地点的理想停靠点或起点。该点有意略微偏离道路中心线,以便清楚地标记出相应地点所在的道路一侧。restricted_travel_modes
是导航点无法通过以下出行方式到达的列表:"DRIVE"
是与驾车路线对应的出行方式。"WALK"
是与步行路线对应的出行方式。road_name
包含导航点所偏移的道路的名称。
对于大多数具有确切位置的地点(例如街道地址、建筑物和商家),系统都会返回导航点。如果某个地点代表的是城市和地区等大面积区域,其确切位置可能不明确,因此可能不会返回任何导航点。
迁移通知
自 4 月 17 日起,您现在必须在请求中提供 NAVIGATION_POINTS
额外计算参数,才能接收导航点。客户端可以通过确认以下内容来测试此功能:某些导航点中的 road_name
字段是否已返回,以及每个导航点中的 location
字段是否包含以下四个子字段(lat
、lng
、latitude
、longitude
)。
此外,您还必须迁移到 location.lat
和 location.lng
字段,而不是 location.latitude
和 location.longitude
字段。在未来的版本中,不包含 NAVIGATION_POINTS
额外计算参数的请求将不会在响应中包含任何导航点,并且不再返回 location.latitude
和 location.longitude
字段。
请求详情
您可以在以下类型的请求中获取导航点:
对于上述任何请求,您都需要提供以下参数:extra_computations=NAVIGATION_POINTS
。
示例请求
以下查询使用地点地理编码来获取美国加利福尼亚州山景城一家餐厅的导航点:
https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJZ54APTS3j4ARBYZD956MHq8&extra_computations=NAVIGATION_POINTS&key=YOUR_API_KEY
示例响应
上述查询的响应显示了一个导航点数组:
{
"navigation_points": [
{
"location": {
"lat": 37.3940894,
"lng": -122.0788389,
},
"restricted_travel_modes": ["WALK"],
"road_name": "Castro Street"
},
{
"location": {
"lat": 37.394273,
"lng": -122.0793078,
},
"restricted_travel_modes": ["WALK"],
"road_name": "Wild Cherry Lane"
},
{
"location": {
"lat": 37.3941202,
"lng": -122.0789189,
},
"restricted_travel_modes": ["DRIVE"]
}
]
}
反馈
这是一项实验性功能。欢迎发送电子邮件至 geocoding-feedback-channel@google.com 提供反馈。