Tribe__Events__Pro__Geo_Loc::get_distance_between_coords( float $lat_from, float $lng_from, float $lat_to, float $lng_to )
Implementation of the Haversine Formula to get the distance in kms between two geo points.
Contents
Parameters
- $lat_from
-
(float) (Required)
- $lng_from
-
(float) (Required)
- $lat_to
-
(float) (Required)
- $lng_to
-
(float) (Required)
Return
(float)
Source
File: src/Tribe/Geo_Loc.php
public function get_distance_between_coords( $lat_from, $lng_from, $lat_to, $lng_to ) {
$delta_lat = $lat_to - $lat_from;
$delta_lng = $lng_to - $lng_from;
$a = sin( deg2rad( (double) ( $delta_lat / 2 ) ) ) * sin( deg2rad( (double) ( $delta_lat / 2 ) ) ) + cos( deg2rad( (double) $lat_from ) ) * cos( deg2rad( (double) $lat_to ) ) * sin( deg2rad( (double) ( $delta_lng / 2 ) ) ) * sin( deg2rad( (double) ( $delta_lng / 2 ) ) );
$c = asin( min( 1, sqrt( $a ) ) );
$distance = 2 * self::EARTH_RADIO * $c;
$distance = round( $distance, 4 );
return $distance;
}