/** * 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)); }