/** * @param array $data An array of data. * * @return \Geocoder\Model\AddressCollection */ protected function returnResults(array $data = []) { if (0 < $this->getLimit()) { $data = array_slice($data, 0, $this->getLimit()); } return $this->factory->createFromArray($data); }
/** * */ public function reverse($latitude, $longitude) { $cid = $this->getCacheCid($latitude, $longitude); if ($value = $this->cache_get($cid)) { return $value; } try { $result = $this->getRandomResult(); $result['latitude'] = $latitude; $result['longitude'] = $longitude; $value = $this->factory->createFromArray(array($result)); $this->cache_set($cid, $value); } catch (\Exception $e) { $this->loggerChannel->error($e->getMessage(), array('channel' => 'geocoder')); $this->messenger->addMessage($e->getMessage(), 'error', FALSE); $value = FALSE; } return $value; }
/** * Create an instance from an array, used from cache libraries. * * @param array $data */ public function fromArray(array $data = array()) { if (isset($data['providerName'])) { $this->providerName = $data['providerName']; } if (isset($data['query'])) { $this->query = $data['query']; } if (isset($data['exception'])) { $this->exception = $data['exception']; } // Shortcut to create the address and set it in this class $addressFactory = new AddressFactory(); $this->setAddress($addressFactory->createFromArray([$data])->first()); }