/** * @expectedException \Ivory\GoogleMap\Exception\EventException * @expectedExceptionMessage The instance of an event must be a string value. */ public function testInstanceWithInvalidValue() { $this->event->setInstance(true); }
/** * Registers the info window event (auto open). * * @param \Ivory\GoogleMap\Overlays\Marker $marker The marker. * @param \Ivory\GoogleMap\Map $map The map. */ protected function registerInfoWindowEvent(Marker $marker, Map $map) { $closableInfoWindows = sprintf('%s.closable_info_windows', $this->getJsContainerName($map)); $handle = <<<EOF function () { for (var info_window in {$closableInfoWindows}) { {$closableInfoWindows}[info_window].close(); } {$this->infoWindowHelper->renderOpen($marker->getInfoWindow(), $map, $marker)} } EOF; $event = new Event(); $event->setJavascriptVariable(sprintf('%s_%s', $marker->getJavascriptVariable(), 'info_window_event')); $event->setInstance($marker->getJavascriptVariable()); $event->setEventName($marker->getInfoWindow()->getOpenEvent()); $event->setHandle($handle); $map->getEventManager()->addEvent($event); }