如何使用谷歌地图API在嵌入地图上显示所有可用的路线

How to display all available routes on an embed map with Google Maps API?

本文关键字:显示 API 谷歌地图 何使用 地图      更新时间:2023-09-26

我想知道是否有可能在两点之间显示使用公共服务(如火车或公共汽车)的所有可用路线,并能够选择一条以使用Google Maps API(Javascript的嵌入)在嵌入式地图中查看更多详细信息,就像使用Google地图网站本身一样(示例)。

就我而言,我只能嵌入仅包含一条特定路线的地图或全球地图,但不能嵌入包含所有路线的地图,并让用户选择喜欢哪一个。

谢谢!

您可以尝试在 Google Maps JavaScript API 中使用路线。若要使用它,需要创建一个类型为 DirectionsService 的对象并调用 DirectionsService.route() 以启动对 Direction 服务的请求,向其传递一个包含输入术语的 DirectionsRequest 对象文本和在收到响应时执行的回调方法。

对象包含以下字段:

{
origin: LatLng | String | google.maps.Place,
destination: LatLng | String | google.maps.Place,
travelMode: TravelMode,
transitOptions: TransitOptions,
drivingOptions: DrivingOptions,
unitSystem: UnitSystem,
waypoints[]: DirectionsWaypoint,
optimizeWaypoints: Boolean,
provideRouteAlternatives: Boolean,
avoidHighways: Boolean,
avoidTolls: Boolean,
region: String
}

对于TransitOptions,您可以在此处指定正在使用的模式。

  • google.maps.TransitMode.BUS 表示计算出的路线应优先乘坐公共汽车。

  • google.maps.TransitMode.RAIL 表示计算出的路线应优先乘坐火车、电车、轻轨和地铁。

  • google.maps.TransitMode.SUBWAY 表示计算出的路线应优先乘坐地铁。

  • google.maps.TransitMode.TRAIN表示计算出的路线应优先乘坐火车旅行。

  • google.maps.TransitMode.TRAM表示计算出的路线应优先乘坐有轨电车和轻轨。

对于provideRouteAlternatives,当设置为 true 时,它指定方向服务可以在响应中提供多个路径备选方案。请注意,提供替代路由可能会增加服务器的响应时间。