地理编码响应中的 navigation_points
字段包含有助于导航到地点的点的列表。具体而言,在从或到相应地点的道路网络上进行路线规划时,应将相应地点用作起点或终点。每个导航点都包含以下值:
location
包含导航点的纬度和经度值。此位置始终非常靠近道路网,是往返某个地点的理想停靠点或起点。该点是刻意偏离道路中心线的,以明确标记地点所在的道路侧。restricted_travel_modes
是导航点无法通过以下交通方式访问的列表:"DRIVE"
是与驾车路线对应的出行模式。"WALK"
是与步行路线对应的出行方式。road_name
包含导航点相对于哪条道路的偏移量。
系统会针对具有确切位置的大多数地点(例如街道地址、建筑物和场所)返回导航点。代表大区域(例如城市和地区)的地点可能不会返回任何导航点,因为确切位置可能不明确。
迁移通知
自 4 月 17 日起,您现在必须在请求中提供 NAVIGATION_POINTS
extra computations 参数,才能接收导航点。客户端可以通过确认系统是否返回了某些导航点中的 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"]
}
]
}
反馈
这是一项实验性功能。欢迎发送反馈至 [email protected]。