                         transit-journey
                         (make-transit-journey waypoints journey partial-directions)))))))))))))
 
-(defn attraction-map-view [[current-city journey transit-journey] owner]
+(defn attraction-map-view [[current-city journey transit-journey show-vehicle-icons] owner]
   (reify
     ;; initialize the google maps objects and store them as local state to the map view
     om/IDidMount

    waypoints
    all-directions))

(defn create-renderers [owner transit-directions]
  (reduce
    (fn [renderers [index directions]]
      (let [renderer (js/google.maps.DirectionsRenderer.
                       #js {:polylineOptions #js {:strokeColor (nth colors index)
                                                  :strokeOpacity 0.6
                                                  :geodesic true
                                                  :icons #js []
                                                  :strokeWeight (nth widths index)}
                            :suppressInfoWindows true
                            :suppressMarkers true})]
        (.setMap renderer (om/get-state owner :google-map))
        (.setDirections renderer (clj->js (-> directions :directions clj->js)))
        (conj renderers renderer)))
    []
    (map vector (range) transit-directions)))

(defn gen-new-renderers [owner transit-directions]
  (let [all-renderers (create-renderers owner transit-directions)]
    (om/set-state! owner :all-renderers all-renderers)))

(defn create-markers [owner transit-journey]

                                :zoom 9})]
          (om/set-state! owner :google-map google-map)
          (om/set-state! owner :google-directions-service google-directions-service)
          (gen-new-renderers owner transit-journey show-vehicle-icons)
          (gen-new-markers owner transit-journey))))

    ;; recompute the route upon journey update
