/** * Configures the json builder in order to render an info window. * * @param \Ivory\GoogleMap\Helper\Overlays\InfoWinfow $infoWindow The info window. * @param boolean $renderPosition TRUE if the position is rendered else FALSE. */ protected function doRender(InfoWindow $infoWindow, $renderPosition) { $this->jsonBuilder->reset(); if ($renderPosition) { $this->jsonBuilder->setValue('[position]', $infoWindow->getPosition()->getJavascriptVariable(), false); } if ($infoWindow->hasPixelOffset()) { $this->jsonBuilder->setValue('[pixelOffset]', $infoWindow->getPixelOffset()->getJavascriptVariable(), false); } $this->jsonBuilder->setValue('[content]', $infoWindow->getContent())->setValues($infoWindow->getOptions()); }
public function testRender() { $infoWindow = new InfoWindow(); $infoWindow->setPosition(1.1, 2.1, true); $infoWindow->getPosition()->setJavascriptVariable('position'); $infoWindow->setPixelOffset(3, 4, 'px', 'px'); $infoWindow->getPixelOffset()->setJavascriptVariable('pixel_offset'); $infoWindow->setContent('content'); $infoWindow->setOpen(true); $infoWindow->setOptions(array('option1' => 'value1', 'option2' => 'value2')); $expected = $infoWindow->getJavascriptVariable() . ' = new InfoBox({' . '"position":position,' . '"pixelOffset":pixel_offset,' . '"content":"content",' . '"option1":"value1",' . '"option2":"value2"' . '});' . PHP_EOL; $this->assertSame($expected, $this->infoBoxHelper->render($infoWindow, true)); }
public function testRenderJsContainerSizes() { $map = new Map(); $map->setJavascriptVariable('map'); $map->addInfoWindow($mapInfoWindow = new InfoWindow()); $mapInfoWindow->setPixelOffset(1, 2); $mapInfoWindow->getPixelOffset()->setJavascriptVariable('map_info_winfow_pixel_offset'); $map->addMarker($marker = new Marker()); $marker->setInfoWindow($markerInfoWindow = new InfoWindow()); $markerInfoWindow->setPixelOffset(1, 2); $markerInfoWindow->getPixelOffset()->setJavascriptVariable('marker_info_window_pixel_offset'); $marker->setIcon('url'); $marker->getIcon()->setSize(1, 2); $marker->getIcon()->getSize()->setJavascriptVariable('marker_icon_size'); $marker->getIcon()->setScaledSize(1, 2); $marker->getIcon()->getScaledSize()->setJavascriptVariable('marker_icon_scaled_size'); $marker->setShadow('url'); $marker->getShadow()->setSize(1, 2); $marker->getShadow()->getSize()->setJavascriptVariable('marker_shadow_size'); $marker->getShadow()->setScaledSize(1, 2); $marker->getShadow()->getScaledSize()->setJavascriptVariable('marker_shadow_scaled_size'); $expected = <<<EOF map_container.sizes.map_info_winfow_pixel_offset = map_info_winfow_pixel_offset = new google.maps.Size(1, 2); map_container.sizes.marker_info_window_pixel_offset = marker_info_window_pixel_offset = new google.maps.Size(1, 2); map_container.sizes.marker_icon_size = marker_icon_size = new google.maps.Size(1, 2); map_container.sizes.marker_icon_scaled_size = marker_icon_scaled_size = new google.maps.Size(1, 2); map_container.sizes.marker_shadow_size = marker_shadow_size = new google.maps.Size(1, 2); map_container.sizes.marker_shadow_scaled_size = marker_shadow_scaled_size = new google.maps.Size(1, 2); EOF; $this->assertSame($expected, $this->mapHelper->renderJsContainerSizes($map)); }
public function testPixelOffsetWithNullValue() { $this->infoWindow->setPixelOffset($this->getMock('Ivory\\GoogleMap\\Base\\Size')); $this->infoWindow->setPixelOffset(null); $this->assertNull($this->infoWindow->getPixelOffset()); }