Example #1
0
 /**
  * @param $markerBuilder
  * @param $stationState
  * @param $infoWindowBuilder
  *
  * @return Marker
  */
 private function getMarker(MarkerBuilder $markerBuilder, StationState $stationState, InfoWindowBuilder $infoWindowBuilder)
 {
     $marker = $markerBuilder->build();
     $station = $stationState->getStation();
     $marker->setPosition($station->getLatitude(), $station->getLongitude());
     $infoWindow = $infoWindowBuilder->build();
     $path = $this->get('router')->generate('station_state_graph', array('stationId' => $station->getId()));
     $infoWindow->setContent(sprintf('Bikes remaining : %d <br />Free spaces: %d <br /> Link: <a href="%s">Graph</a> ', $stationState->getAvailableBikes(), $stationState->getFreeSlots(), $path));
     $marker->setInfoWindow($infoWindow);
     return $marker;
 }
Example #2
0
 /**
  * @return StationState[]
  */
 public function getSnapshot()
 {
     $response = $this->browser->post(self::BICING_URL);
     $stations = $this->parse($response->getContent());
     $time = new \DateTime();
     return array_map(function ($element) use($time) {
         return StationState::constructFromApiData($element, $time);
     }, $stations);
 }