예제 #1
0
 public function testInfoWindowWithoutAutoZoom()
 {
     $infoWindow = $this->getMock('Ivory\\GoogleMap\\Overlays\\InfoWindow');
     $this->setUpBound();
     $this->map->getBound()->expects($this->never())->method('extend');
     $this->map->addInfoWindow($infoWindow);
     $this->assertSame(array($infoWindow), $this->map->getInfoWindows());
 }
예제 #2
0
 /**
  * Computes the sizes of a map.
  *
  * @param \Ivory\GoogleMap\Map $map The map.
  *
  * @return array The computed sizes.
  */
 protected function computeSizes(Map $map)
 {
     $sizes = array();
     foreach (array_merge($map->getInfoWindows(), $this->computeMarkerInfoWindows($map)) as $infoWindow) {
         if ($infoWindow->hasPixelOffset() && !in_array($infoWindow->getPixelOffset(), $sizes)) {
             $sizes[] = $infoWindow->getPixelOffset();
         }
     }
     foreach ($map->getMarkers() as $marker) {
         if ($marker->hasIcon()) {
             if ($marker->getIcon()->hasSize() && !in_array($marker->getIcon()->getSize(), $sizes)) {
                 $sizes[] = $marker->getIcon()->getSize();
             }
             if ($marker->getIcon()->hasScaledSize() && !in_array($marker->getIcon()->getScaledSize(), $sizes)) {
                 $sizes[] = $marker->getIcon()->getScaledSize();
             }
         }
         if ($marker->hasShadow()) {
             if ($marker->getShadow()->hasSize() && !in_array($marker->getShadow()->getSize(), $sizes)) {
                 $sizes[] = $marker->getShadow()->getSize();
             }
             if ($marker->getShadow()->hasScaledSize() && !in_array($marker->getShadow()->getScaledSize(), $sizes)) {
                 $sizes[] = $marker->getShadow()->getScaledSize();
             }
         }
     }
     return $sizes;
 }