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.


Parameters

$lat_from

(float) (Required)

$lng_from

(float) (Required)

$lat_to

(float) (Required)

$lng_to

(float) (Required)


Top ↑

Return

(float)


Top ↑

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;
	}