Ich habe eine Tabelle, in der ich den Service und Spalten der Service-Tabelle ist die Länge, Länge, d. H. Standort eines Dienstes.Wie berechnet man die Entfernung zwischen zwei Orten in Kilometern, in PHP?
Jetzt möchte ich den aktuellen Standort des Benutzers und suchen Sie die verfügbaren Dienste rund 10 Kilometer Entfernung zum Benutzer.
Dafür habe ich gesucht, wie man den Abstand zwischen zwei Standorten berechnet und versuchte einen der Code, aber es gibt mir einige Syntaxfehler in JSON.
Der Fehler ist Syntaxfehler, (unerwartetes 'S'), auch bekomme ich durch diese Formel das Ergebnis in Kilometern nicht.
public function searchVendors($lattitudeFrom,$longitudeFrom)
{
$lattitudeTo = -10.4212157;
$longitudeTo = 28.6031842;
$dist = $this -> haversineGreatCircleDistance($latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo, $earthRadius = 6371000);
return $dist;
}
public function haversineGreatCircleDistance($latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo, $earthRadius = 6371000)
{
// convert from degrees to radians
$latFrom = deg2rad($latitudeFrom);
$lonFrom = deg2rad($longitudeFrom);
$latTo = deg2rad($latitudeTo);
$lonTo = deg2rad($longitudeTo);
$latDelta = $latTo - $latFrom;
$lonDelta = $lonTo - $lonFrom;
$angle = 2 * asin(sqrt(pow(sin($latDelta/2), 2) +
cos($latFrom) * cos($latTo) * pow(sin($lonDelta/2), 2)));
return $angle * $earthRadius;
}
getVendors.php
<?php
header("Content-type: application/json");
// if ($_SERVER['REQUEST_METHOD']=='POST') {
include_once ("../include/Vendor.php");
try {
$con = DB::getConnection();
$raw = file_get_contents("php://input");
$data = json_decode($raw, true);
$longitude = $data->longitude;
$lattitude = $data->lattitude;
$v = new Vendor();
$response = $v -> searchVendors($lattitude,$longitude);
json_encode($response);
echo $response;
if ($response == null) {
$response = json_encode(array("result" => -2, "message" => "Empty result"));
echo $response;
} else {
echo $response;
}
} catch(Exception $e) {
$result = array("result" => -1, "message" => $e -> getMessage());
echo json_encode($result);
}
//}
?>
Wie kann ich das erreichen? Kann jemand bitte helfen .. Sehr neu in PHP.
Können Sie die vollständige Fehlermeldung mit dem Dateinamen und Zeile liefern Nummer? –