public function getLatitude() { if (isset($this->geocoderResult) === false) { $this->geocodeAddress(); } return $this->geocoderResult->getLatitude(); }
/** * getAngle: Get a bounding box angle * Determining two angles (southWest & northEast) is sufficient to create a boundinx box * * @link http://richardpeacock.com/blog/2011/11/draw-box-around-coordinate-google-maps-based-miles-or-kilometers * @link http://www.sitepoint.com/forums/showthread.php?656315-adding-distance-gps-coordinates-get-bounding-box * @param ResultInterface $result * @param integer $bearing * @param float $distance * @param string $distance_unit * @return Geocoded A bounding box Angle */ public static function getAngle(Geocoded $result, $bearing, $distance, $distance_unit = "km") { $geocoded = new Geocoded(); if ($distance_unit == "m") { // Distance is in miles. $radius = 3963.1676; } else { // distance is in km. $radius = 6378.1; } $tuple = array(); // New latitude in degrees. $tuple['latitude'] = rad2deg(asin(sin(deg2rad($result->getLatitude())) * cos($distance / $radius) + cos(deg2rad($result->getLatitude())) * sin($distance / $radius) * cos(deg2rad($bearing)))); // New longitude in degrees. $tuple['longitude'] = rad2deg(deg2rad($result->getLongitude()) + atan2(sin(deg2rad($bearing)) * sin($distance / $radius) * cos(deg2rad($result->getLatitude())), cos($distance / $radius) - sin(deg2rad($result->getLatitude())) * sin(deg2rad($tuple['latitude'])))); $geocoded->fromArray($tuple); return $geocoded; }