/** * Renders an encoded polyline. * * @param \Ivory\GoogleMap\Overlays\EncodedPolyline $encodedPolyline The encoded polyline. * @param \Ivory\GoogleMap\Map $map The map. * * @return string The JS output. */ public function render(EncodedPolyline $encodedPolyline, Map $map) { $this->jsonBuilder->reset()->setValue('[map]', $map->getJavascriptVariable(), false)->setValue('[path]', $this->encodingHelper->renderDecodePath($encodedPolyline->getValue()), false)->setValues($encodedPolyline->getOptions()); return sprintf('%s = new google.maps.Polyline(%s);' . PHP_EOL, $encodedPolyline->getJavascriptVariable(), $this->jsonBuilder->build()); }
/** * @expectedException \Ivory\GoogleMap\Exception\HelperException * @expectedExceptionMessage The encoded path must be a string value. */ public function testRenderDecodePathWithInvalidValue() { $this->encodingHelper->renderDecodePath(true); }