コード例 #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;
 }
コード例 #2
0
 public function testMultipleBuildWithReset()
 {
     $this->markerBuilder->setPrefixJavascriptVariable('foo')->setPosition(1, 2, false)->setAnimation(Animation::BOUNCE)->setOptions(array('foo' => 'bar'));
     $marker1 = $this->markerBuilder->build();
     $this->markerBuilder->reset();
     $marker2 = $this->markerBuilder->build();
     $this->assertNotSame($marker1, $marker2);
     $this->assertSame('foo', substr($marker1->getJavascriptVariable(), 0, 3));
     $this->assertSame(1, $marker1->getPosition()->getLatitude());
     $this->assertSame(2, $marker1->getPosition()->getLongitude());
     $this->assertFalse($marker1->getPosition()->isNoWrap());
     $this->assertSame(Animation::BOUNCE, $marker1->getAnimation());
     $this->assertSame(array('foo' => 'bar'), $marker1->getOptions());
     $this->assertSame('marker_', substr($marker2->getJavascriptVariable(), 0, 7));
     $this->assertSame(0, $marker2->getPosition()->getLatitude());
     $this->assertSame(0, $marker2->getPosition()->getLongitude());
     $this->assertTrue($marker2->getPosition()->isNoWrap());
     $this->assertNull($marker2->getAnimation());
     $this->assertEmpty($marker2->getOptions());
 }