Google API を使用すると、2 地点間のルートの距離を計算できることはわかっていますが、私が目にするほとんどの例は、車/徒歩/自転車ルートの距離を計算するルート サービスです。
コードから、鉄道上の 2 つの大都市間の距離を取得することは可能ですが (以下のコード)、2 つの大都市間の小さな駅である 16 セグメントの距離も取得したいと考えています。方法?
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);
directionsDisplay.setMap(map);
var request = {
origin: 'Chester',
destination: 'Liverpool',
travelMode: google.maps.TravelMode.TRANSIT,
unitSystem:google.maps.UnitSystem.METRIC
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
////////////////////////////////////////////////////////////////////////////
directionsDisplay.setDirections(response);
var path = response.routes[0].overview_path;
var legs = response.routes[0].legs;
for (i=0;i<legs.length;i++) {
var steps = legs[i].steps;
for (j=0;j<steps.length;j++) {
var transitMode = steps[j].travel_mode;
if (transitMode == "TRANSIT") {
var vehicle = steps[j].transit.line.vehicle.type;
if (vehicle == "HEAVY_RAIL") {
var nextSegment = steps[j].path;
console.log('segment '+nextSegment.length);
for (k=0;k<nextSegment.length;k++) {
console.log(nextSegment[k].hb+" "+nextSegment[k].ib);
route_polyline.getPath().push(nextSegment[k]);
}
console.log('rail');
}
}
}
}
route_polyline.setMap(map);
}
});