Получить все данные, где расстояние координат не более 12 - PullRequest
0 голосов
/ 26 сентября 2019

Я пытался решить эту проблему, но, похоже, я не могу понять, что нужно делать в WHERE SQL.ЗДЕСЬ мой кодПОЖАЛУЙСТА, помогите мне решить эту проблему

$url = "https://maps.googleapis.com/maps/api/geocode/json?address=$string&key=AIzaSyAdk7l9UtPkZsm2FzL465yMXeFDATEubp4";

$result_string = file_get_contents($url);
 $result = json_decode($result_string, true);


$latitudeFrom = $result['results'][0]['geometry']['location']['lat'];
$longitudeFrom = $result['results'][0]['geometry']['location']['lng'];


$theta = $longitudeFrom - $longitudeTo;
$dist = sin(deg2rad($latitudeFrom)) * sin(deg2rad($latitudeTo)) +  cos(deg2rad($latitudeFrom)) * cos(deg2rad($latitudeTo)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;

$distance = ($miles * 1.609344).' km';





$query->select('*')->from('#__bbe_listing');


>>>> Below is where i get wrong for sure..


$query->where((($dist =sin(deg2rad($latitudeFrom)) * sin(deg2rad('latitude')) + cos(deg2rad($latitudeFrom)) * cos(deg2rad('latitude')) * cos(deg2rad($longitudeFrom - 'longitude'))).($dist = acos($dist)).($dist = rad2deg($dist)) ($miles = $dist * 60 * 1.1515).($distance = ($miles * 1.609344))). $distance < 12);
...