public function testRender() { $mapTest = new Map(); $kmlLayerTest = new KMLLayer(); $kmlLayerTest->setUrl('url'); $this->assertEquals(self::$kmlLayerHelper->render($kmlLayerTest, $mapTest), 'var ' . $kmlLayerTest->getJavascriptVariable() . ' = new google.maps.KmlLayer("' . $kmlLayerTest->getUrl() . '", {"map":' . $mapTest->getJavascriptVariable() . '});' . PHP_EOL); $kmlLayerTest->setOptions(array('option1' => 'value1', 'option2' => 'value2')); $this->assertEquals(self::$kmlLayerHelper->render($kmlLayerTest, $mapTest), 'var ' . $kmlLayerTest->getJavascriptVariable() . ' = new google.maps.KmlLayer("' . $kmlLayerTest->getUrl() . '", {"map":' . $mapTest->getJavascriptVariable() . ',"option1":"value1","option2":"value2"});' . PHP_EOL); }
/** * Renders the map javascript kml layer * * @param Ivory\GoogleMapBundle\Model\Layers\KMLLayer $kmlLayer The KML layer * @param Ivory\GoogleMapBundle\Model\Map $map The map */ public function render(KMLLayer $kmlLayer, Map $map) { $kmlLayerOptions = $kmlLayer->getOptions(); $kmlLayerJSONOptions = sprintf('{"map":%s', $map->getJavascriptVariable()); if (!empty($kmlLayerOptions)) { $kmlLayerJSONOptions .= ',' . substr(json_encode($kmlLayerOptions), 1); } else { $kmlLayerJSONOptions .= '}'; } return sprintf('var %s = new google.maps.KmlLayer("%s", %s);' . PHP_EOL, $kmlLayer->getJavascriptVariable(), $kmlLayer->getUrl(), $kmlLayerJSONOptions); }
/** * Checks the render kml layers method */ public function testRenderKMLLayers() { $mapTest = new Model\Map(); $kmlLayerTest = new Layers\KMLLayer(); $kmlLayerTest->setUrl('url'); $mapTest->addKMLLayer($kmlLayerTest); $this->assertEquals(self::$mapHelper->renderKMLLayers($mapTest), 'var ' . $kmlLayerTest->getJavascriptVariable() . ' = new google.maps.KmlLayer("url", {"map":' . $mapTest->getJavascriptVariable() . '});' . PHP_EOL); }