public function testRenderMarkersWithAutoOpenInfoWindow() { $map = new Map(); $map->setJavascriptVariable('map'); $map->addMarker($marker = new Marker()); $marker->setJavascriptVariable('marker'); $marker->getPosition()->setJavascriptVariable('marker_position'); $marker->setInfoWindow($infoWindow = new InfoWindow()); $infoWindow->setJavascriptVariable('marker_info_window'); $infoWindow->setAutoOpen(true); $this->helper->renderMarkers($map->getMarkerCluster(), $map); $this->assertNotEmpty($map->getEventManager()->getEvents()); }
public function testRenderMarkers() { $map = new Map(); $map->setJavascriptVariable('map'); $map->addMarker($marker = new Marker()); $marker->setJavascriptVariable('marker'); $marker->getPosition()->setJavascriptVariable('marker_position'); $expected = <<<EOF map_container.markers.marker = marker = new google.maps.Marker({"position":marker_position}); EOF; $this->assertSame($expected, $this->helper->renderMarkers($map->getMarkerCluster(), $map)); }
/** * Create empty map * * @param Coordinate $center * @param bool $async * * @return Map * @throws \Ivory\GoogleMap\Exception\AssetException * @throws \Ivory\GoogleMap\Exception\MapException */ public function createEmptyMap(Coordinate $center, bool $async = true) : Map { $map = new Map(); $map->setLanguage('en'); $map->setPrefixJavascriptVariable('map_'); $map->setHtmlContainerId('map_canvas'); $map->setMapOption('mapTypeId', MapTypeId::ROADMAP); $map->setAutoZoom(false); $map->setCenter($center); $map->setMapOption('zoom', 2); $map->setJavascriptVariable('location_map'); $map->setAsync($async); $map->setStylesheetOptions(['width' => '100%', 'height' => '300px']); return $map; }
public function testRender() { $map = new Map(); $map->setJavascriptVariable('map'); $map->getCenter()->setJavascriptVariable('map_center'); $expected = <<<EOF <div id="map_canvas" style="width:300px;height:300px;"></div> <style type="text/css"> #map_canvas{ width:300px; height:300px; } </style> <script type="text/javascript"> function load_ivory_google_map_api () { google.load("maps", "3", {"other_params":"language=en&sensor=false"}); }; </script> <script type="text/javascript" src="//www.google.com/jsapi?callback=load_ivory_google_map_api"></script> <script type="text/javascript"> map_container = {"map":null,"coordinates":{},"bounds":{},"points":{},"sizes":{},"circles":{},"encoded_polylines":{},"ground_overlays":{},"polygons":{},"polylines":{},"rectangles":{},"info_windows":{},"marker_images":{},"marker_shapes":{},"markers":{},"marker_cluster":null,"kml_layers":{},"event_manager":{"dom_events":{},"dom_events_once":{},"events":{},"events_once":{}},"closable_info_windows":{},"functions":{"to_array":function (object) { var array = []; for (var key in object) { array.push(object[key]); } return array; }}}; map_container.coordinates.map_center = map_center = new google.maps.LatLng(0, 0, true); map_container.map = map = new google.maps.Map(document.getElementById("map_canvas"), {"mapTypeId":google.maps.MapTypeId.ROADMAP,"zoom":3}); map.setCenter(map_center); </script> EOF; $this->assertSame($expected, $this->mapHelper->render($map)); }