function _location_convert_distance_to_meters in Location 5.3
Same name and namespace in other branches
- 5 location.inc \_location_convert_distance_to_meters()
- 6.3 location.inc \_location_convert_distance_to_meters()
- 7.5 location.inc \_location_convert_distance_to_meters()
- 7.3 location.inc \_location_convert_distance_to_meters()
- 7.4 location.inc \_location_convert_distance_to_meters()
Parameters
$distance: A number in either miles or km.
$distance_unit: String (optional). Either 'mile' or 'km' (default)
Return value
A floating point number where the number in meters after the initially passed scalar has been ceil()'d This is done after the $distance_unit parmeter is forced to be 'km' or 'mile'
1 call to _location_convert_distance_to_meters()
- _location_search in contrib/
location_search/ location_search.module - Implementation of hook_search(). (forwarded from location.module)
File
- ./
location.inc, line 222
Code
function _location_convert_distance_to_meters($distance, $distance_unit = 'km') {
if (!is_numeric($distance)) {
return NULL;
}
// Force an integer version of distance, just in case anyone wants to add a caching mechanism
// for postal code proximity searches.
if (is_float($distance)) {
$distance = intval(ceil($distance));
}
if ($distance < 1) {
return NULL;
}
if ($distance_unit != 'km' && $distance_unit != 'mile') {
$distance_unit = 'km';
}
// Convert distance to meters
//$distance_float = floatval($distance) * (($distance_unit == 'km') ? 1000.0 : 1609.347);
//return round($distance_float, 2);
$retval = round(floatval($distance) * ($distance_unit == 'km' ? 1000.0 : 1609.347), 2);
return $retval;
}