in src/maps_planner/index.ts [586:635]
async function setLeg(args) {
const start = {
lat: Number(args.start.lat),
lng: Number(args.start.lng),
};
const end = {lat: Number(args.end.lat), lng: Number(args.end.lng)};
points.push(start);
points.push(end);
bounds.extend(start);
bounds.extend(end);
map.fitBounds(bounds);
const polyOptions = {
strokeOpacity: 0.0, // Invisible base line
strokeWeight: 3,
map,
};
const geodesicPolyOptions = {
strokeColor: isPlannerMode ? '#2196F3' : '#CC0099',
strokeOpacity: 1.0,
strokeWeight: isPlannerMode ? 4 : 3,
map,
};
if (isPlannerMode) {
geodesicPolyOptions['icons'] = [
{
icon: {path: 'M 0,-1 0,1', strokeOpacity: 1, scale: 3},
offset: '0',
repeat: '15px',
},
];
}
const poly = new google.maps.Polyline(polyOptions);
const geodesicPoly = new google.maps.Polyline(geodesicPolyOptions);
const path = [start, end];
poly.setPath(path);
geodesicPoly.setPath(path);
lines.push({
poly,
geodesicPoly,
name: args.name,
transport: args.transport,
travelTime: args.travelTime,
});
}