public function testRenderWithOptions() { $map = $this->getMock('Ivory\\GoogleMap\\Map'); $map->expects($this->once())->method('getJavascriptVariable')->will($this->returnValue('map')); $encodedPolyline = new EncodedPolyline('foo'); $encodedPolyline->setJavascriptVariable('encodedPolyline'); $encodedPolyline->setOptions(array('option1' => 'value1', 'option2' => 'value2')); $this->assertSame('encodedPolyline = new google.maps.Polyline(' . '{"map":map,"path":google.maps.geometry.encoding.decodePath("foo"),"option1":"value1","option2":"value2"}' . ');' . PHP_EOL, $this->encodedPolylineHelper->render($encodedPolyline, $map)); }
/** * Renders the javascript container encoded polylines. * * @param \Ivory\GoogleMap\Map $map The map. * * @return string The JS output. */ public function renderJsContainerEncodedPolylines(Map $map) { $output = array(); foreach ($map->getEncodedPolylines() as $encodedPolyline) { $output[] = sprintf('%s.encoded_polylines.%s = %s', $this->getJsContainerName($map), $encodedPolyline->getJavascriptVariable(), $this->encodedPolylineHelper->render($encodedPolyline, $map)); } return implode('', $output); }