     #Instantiate a directions service.
     renderOptions = {
       map: window.map,
-      markerOptions: {visible: false}
+      markerOptions: {visible: false},
+      preserveViewport: true
     }
     this.directionsService = new google.maps.DirectionsService()
     this.directionsDisplay = new google.maps.DirectionsRenderer(renderOptions)

    request = {
      origin: this.begin,
      destination: this.end,
      travelMode: google.maps.TravelMode.DRIVING
    }
    #Route the directions and pass the response to a
    #function to draw the full link for each step.

      map: window.map
    });

  getArrowPosition: ->
    dx = this.end.lng()-this.begin.lng()
    dy = this.end.lat()-this.begin.lat()

    if (Math.abs(this.end.lng() - this.begin.lng()) > 180.0)
      dx = -dx

    sl = Math.sqrt((dx*dx)+(dy*dy))
    theta = Math.atan2(-dy,dx)

    #just put one arrow in the middle of the line
    x = this.begin.lng() + ((sl/2) * Math.cos(theta))
    y = this.begin.lat() - ((sl/2) * Math.sin(theta))

    new google.maps.LatLng(x,y)