Ejemplo n.º 1
0
 /**
  * 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']);
 }