如何使用Google Maps API在嵌入地图上显示所有可用路线?

时间:2016-04-26 10:43:09

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以尝试使用directions in the Google Maps JavaScript API。要使用它,您需要创建DirectionsService类型的对象并调用DirectionsService.route()以向Directions服务发起请求,并向其传递包含输入字词和回调的DirectionsRequest对象字面值收到回复后执行的方法。

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时,它指定Directions服务可以在响应中提供多个路由替代。请注意,提供路由选择可能会增加服务器的响应时间。