Ejemplo n.º 1
0
 /**
  * Gets the rendered map content for the map view.
  * @param array  $geoCodeQueryData - geocoder query data.
  * @param string $containerId      - containerid for map rendering.
  * @return rendered map content.
  */
 public static function renderMapContentForView($geoCodeQueryData, $containerId)
 {
     assert('is_array($geoCodeQueryData)');
     assert('is_string($containerId)');
     return GoogleMappingUtil::renderMapByGeoCodeData(self::getGeoCodeApiKey(), $geoCodeQueryData, $containerId);
 }
 public function testGeoCodeResultData()
 {
     $super = User::getByUsername('super');
     Yii::app()->user->userModel = $super;
     $address = array();
     $address['street1'] = '123 Knob Street';
     $address['street2'] = 'Apartment 4b';
     $address['city'] = 'Chicago';
     $address['state'] = 'Illinois';
     $address['postalCode'] = '60606';
     $address['country'] = 'USA';
     $account1 = AddressGeoCodeTestHelper::createTestAccountsWithBillingAddressAndGetAccount($address, $super);
     $accountId1 = $account1->id;
     unset($account1);
     $address = array();
     $address['street1'] = '18367 South Oak Creek';
     $address['street2'] = '';
     $address['city'] = 'San Jose';
     $address['state'] = 'California';
     $address['postalCode'] = '95131';
     $address['country'] = 'USA';
     $account2 = AddressGeoCodeTestHelper::createTestAccountsWithBillingAddressAndGetAccount($address, $super);
     $accountId2 = $account2->id;
     unset($account2);
     $address = array();
     $address['street1'] = '9570 West Michigan Street';
     $address['street2'] = '';
     $address['city'] = 'New York';
     $address['state'] = 'NY';
     $address['postalCode'] = '10169';
     $address['country'] = 'USA';
     $account3 = AddressGeoCodeTestHelper::createTestAccountsWithBillingAddressAndGetAccount($address, $super);
     $accountId3 = $account3->id;
     unset($account3);
     $address = array();
     $address['street1'] = '24948 West Thomas Trail';
     $address['street2'] = '';
     $address['city'] = 'Milwaukee';
     $address['state'] = 'WI';
     $address['postalCode'] = '53219';
     $address['country'] = '';
     $account4 = AddressGeoCodeTestHelper::createTestAccountsWithBillingAddressAndGetAccount($address, $super);
     $accountId4 = $account4->id;
     unset($account4);
     AddressMappingUtil::updateChangedAddresses(2);
     $account1 = Account::getById($accountId1);
     $this->assertEquals(round('42.11529', 4), round($account1->billingAddress->latitude, 4));
     $this->assertEquals(round('-87.976399', 4), round($account1->billingAddress->longitude, 4));
     $this->assertEquals(0, $account1->billingAddress->invalid);
     $account2 = Account::getById($accountId2);
     $this->assertEquals(round('37.19170', 4), round($account2->billingAddress->latitude, 4));
     $this->assertEquals(round('-121.82640', 4), round($account2->billingAddress->longitude, 4));
     $this->assertEquals(0, $account2->billingAddress->invalid);
     $account3 = Account::getById($accountId3);
     $this->assertEquals(null, $account3->billingAddress->latitude);
     $this->assertEquals(null, $account3->billingAddress->longitude);
     $this->assertEquals(0, $account3->billingAddress->invalid);
     $account4 = Account::getById($accountId4);
     $this->assertEquals(null, $account4->billingAddress->latitude);
     $this->assertEquals(null, $account4->billingAddress->longitude);
     $this->assertEquals(0, $account4->billingAddress->invalid);
     $account1 = Account::getById($accountId1);
     $geoCodeQueryData1 = array('query' => $account1->billingAddress->makeAddress(), 'latitude' => $account1->billingAddress->latitude, 'longitude' => $account1->billingAddress->longitude);
     $account2 = Account::getById($accountId2);
     $geoCodeQueryData2 = array('query' => $account2->billingAddress->makeAddress(), 'latitude' => $account2->billingAddress->latitude, 'longitude' => $account2->billingAddress->longitude);
     $account3 = Account::getById($accountId3);
     $geoCodeQueryData3 = array('query' => $account3->billingAddress->makeAddress(), 'latitude' => $account3->billingAddress->latitude, 'longitude' => $account3->billingAddress->longitude);
     $account4 = Account::getById($accountId4);
     $geoCodeQueryData4 = array('query' => $account4->billingAddress->makeAddress(), 'latitude' => $account4->billingAddress->latitude, 'longitude' => $account4->billingAddress->longitude);
     $apiKey = Yii::app()->params['testGoogleGeoCodeApiKey'];
     $geoCodeResultObj1 = GoogleMappingUtil::getGeoCodeResultByData($apiKey, $geoCodeQueryData1);
     $geoCodeResultObj2 = GoogleMappingUtil::getGeoCodeResultByData($apiKey, $geoCodeQueryData2);
     $geoCodeResultObj3 = GoogleMappingUtil::getGeoCodeResultByData($apiKey, $geoCodeQueryData3);
     $geoCodeResultObj4 = GoogleMappingUtil::getGeoCodeResultByData($apiKey, $geoCodeQueryData4);
     $this->assertEquals(round('42.11529', 4), round($geoCodeResultObj1->latitude, 4));
     $this->assertEquals(round('-87.976399', 4), round($geoCodeResultObj1->longitude, 4));
     $this->assertEquals(round('37.19170', 4), round($geoCodeResultObj2->latitude, 4));
     $this->assertEquals(round('-121.82640', 4), round($geoCodeResultObj2->longitude, 4));
     $this->assertEquals('43', round($geoCodeResultObj3->latitude, 0));
     $this->assertEquals('-79.0', round($geoCodeResultObj3->longitude, 0));
     $this->assertEquals('43.06132', round($geoCodeResultObj4->latitude, 5));
     $this->assertEquals('-87.88806', round($geoCodeResultObj4->longitude, 5));
 }