/** * @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; }
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()); }