/** * @param Geoname $geoname * @return float */ public function getRandomLat(Geoname $geoname) { $lat = floatval($geoname->getLat()); return $lat + $this->getRandomOffset(); }
/** * @param Geoname $geoname * * @return array */ public function getNearbyGeonames(Geoname $geoname) { $queryBuilder = $this->getEntityManager()->createQueryBuilder()->select('g')->addSelect('DISTANCE(g.lat,g.lng,:lat,:lng) AS HIDDEN distance')->from(Geoname::SHORTCUT_CLASS_NAME, 'g')->setParameter('lat', $geoname->getLat())->setParameter('lng', $geoname->getLng())->orderBy('distance', 'ASC'); $query = $queryBuilder->getQuery()->setMaxResults(30); return $query->getResult(); }