/** * Primary call to class that returns a google url to the custom static map * @param $lat * @param $lng * @param string $setting * @param array $override * @return string */ public function getMap($lat, $lng, $setting = 'default', $override = array()) { if ($setting == null) { $setting = 'default'; } $this->setMapConfig($setting, $override); $map = new StaticMap(); $map->setZoom($this->config["zoom"]); $map->setType($this->config["type"]); $map->setSize(new MapSize($this->config["width"], $this->config["height"])); $urlGenerator = new UrlGenerator(); $map->addMarker(new Marker(new Coordinate($lat, $lng), new MarkerStyle())); return $urlGenerator->generate($map); }
public function testMarkerGroup() { $map = new StaticMap(); $map->setCenter(new Coordinate(59.93863, 30.31413)); $markerGroup = new MarkerGroup(new MarkerStyle()); $markerGroup->addMarker(new Marker(new Coordinate(59.93863, 30.31413), new MarkerStyle())); $markerGroup->addMarker(new Marker(new Coordinate(59.93863, 30.31413), new MarkerStyle())); $map->addMarker(new Marker(new Coordinate(54.93863, 32.31413), new MarkerStyle())); $map->addMarker($markerGroup); $urlGenerator = new UrlGenerator(); $url = $this->normalizeUrl($urlGenerator->generate($map)); $urlInfo = parse_url($url); parse_str($urlInfo['query'], $queryParameters); $this->assertEquals('size:mid|54.93863000,32.31413000', $queryParameters['markers'][0]); $this->assertEquals('size:mid|59.93863000,30.31413000|59.93863000,30.31413000', $queryParameters['markers'][1]); $this->assertEquals('59.93863000,30.31413000', $queryParameters['center']); $this->assertEquals('8', $queryParameters['zoom']); $this->assertEquals('600x300', $queryParameters['size']); $this->assertEquals('roadmap', $queryParameters['maptype']); }