コード例 #1
0
 /**
  * Add a geocoder result
  *
  * @todo Parse result to update geocoded properties
  * @param Ivory\GoogleMapBundle\Model\Services\Result\GeocoderResult $result 
  */
 public function addResult(GeocoderResult $result)
 {
     if (is_null($this->latitude)) {
         $this->latitude = $result->getGeometry()->getLocation()->getLatitude();
         $this->longitude = $result->getGeometry()->getLocation()->getLongitude();
         foreach ($result->getAddressComponents() as $addressComponent) {
             foreach ($addressComponent->getTypes() as $type) {
                 switch ($type) {
                     case 'postal_code':
                         $this->zipcode = $addressComponent->getLongName();
                         break;
                     case 'locality':
                         $this->city = $addressComponent->getLongName();
                         break;
                     case 'administrative_area_level_1':
                         $this->region = $addressComponent->getLongName();
                         break;
                     case 'country':
                         $this->country = $addressComponent->getLongName();
                         break;
                     default:
                         break;
                 }
             }
         }
     }
     $this->results[] = $result;
 }
コード例 #2
0
 /**
  * Checks the geometry getter & setter
  */
 public function testGeometry()
 {
     $viewportTest = new Bound();
     $viewportTest->setSouthWest(-1, -2, true);
     $viewportTest->setNorthEast(2, 1, true);
     $boundTest = new Bound();
     $boundTest->setSouthWest(-5, -4, true);
     $boundTest->setNorthEast(4, 5, true);
     self::$geocoderResult->setGeometry(new GeocoderGeometry(new Coordinate(1, 2, true), GeocoderLocationType::APPROXIMATE, $viewportTest, $boundTest));
     $this->assertEquals(self::$geocoderResult->getGeometry()->getLocation()->getLatitude(), 1);
     $this->assertEquals(self::$geocoderResult->getGeometry()->getLocation()->getLongitude(), 2);
     $this->assertTrue(self::$geocoderResult->getGeometry()->getLocation()->isNoWrap());
     $this->assertEquals(self::$geocoderResult->getGeometry()->getLocationType(), GeocoderLocationType::APPROXIMATE);
     $this->assertEquals(self::$geocoderResult->getGeometry()->getViewport()->getSouthWest()->getLatitude(), -1);
     $this->assertEquals(self::$geocoderResult->getGeometry()->getViewport()->getSouthWest()->getLongitude(), -2);
     $this->assertTrue(self::$geocoderResult->getGeometry()->getViewport()->getSouthWest()->isNoWrap());
     $this->assertEquals(self::$geocoderResult->getGeometry()->getViewport()->getNorthEast()->getLatitude(), 2);
     $this->assertEquals(self::$geocoderResult->getGeometry()->getViewport()->getNorthEast()->getLongitude(), 1);
     $this->assertTrue(self::$geocoderResult->getGeometry()->getViewport()->getNorthEast()->isNoWrap());
     $this->assertEquals(self::$geocoderResult->getGeometry()->getBound()->getSouthWest()->getLatitude(), -5);
     $this->assertEquals(self::$geocoderResult->getGeometry()->getBound()->getSouthWest()->getLongitude(), -4);
     $this->assertTrue(self::$geocoderResult->getGeometry()->getBound()->getSouthWest()->isNoWrap());
     $this->assertEquals(self::$geocoderResult->getGeometry()->getBound()->getNorthEast()->getLatitude(), 4);
     $this->assertEquals(self::$geocoderResult->getGeometry()->getBound()->getNorthEast()->getLongitude(), 5);
     $this->assertTrue(self::$geocoderResult->getGeometry()->getBound()->getNorthEast()->isNoWrap());
 }