


Verwenden Sie Längen- und Breitengrad, um zu bestimmen, welche Geschäfte in einem bestimmten Umkreis am nächsten zu den Kunden sind, beispielsweise welche Geschäfte einem bestimmten Geschäft im Umkreis von 1.000 Metern am nächsten liegen.
Seit kurzem muss das Unternehmen die Lieferadresse des Kunden verwenden, um zu prüfen, welche Geschäfte der Adresse des Kunden am nächsten liegen. Kunden können zum nächstgelegenen Geschäft gehen, um die Waren abzuholen.
Wie berechnen wir also welche Filialen im Umkreis von 1.000 Metern um die Adresse des Kunden liegen? . ($address ist die Kundenadresse)
2. Wenn es sich um ein Geschäft im Umkreis von 1000 Metern handelt, müssen wir den Längen- und Breitengradbereich innerhalb von 1000 Metern berechnen >//百度接口获取经纬度 public function getlat($address) { $url = 'http://api.map.baidu.com/geocoder/v2/?city=上海&address=' . $address . '&output=json&ak=' . $this->ak; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOSIGNAL, 1); $data = curl_exec($ch); curl_close($ch); $data = json_decode($data, true); $ret['lat'] = $data['result']['location']['lat']; $ret['lng'] = $data['result']['location']['lng']; echo json_encode($ret); }
Der obige Code muss entsprechend Ihrer tatsächlichen Situation geschrieben werden. Sie können sich hauptsächlich die SQL-Anweisung $ Hehe ansehen
4. Wenn ich berechnen möchte, welches Geschäft der Adresse des Kunden am nächsten liegt, benötige ich eine Methode zur Berechnung der Entfernung, wie folgt:
/* * 计算经纬度范围 * $lat 纬度 * $lon 经度 * $raidus 半径(米) */ function getAround($lat, $lon, $raidus) { $PI = 3.14159265; $EARTH_RADIUS = 6378137; $RAD = $PI / 180.0; $latitude = $lat; $longitude = $lon; $degree = (24901 * 1609) / 360.0; $raidusMile = $raidus; $dpmLat = 1 / $degree; $data = array(); $radiusLat = $dpmLat * $raidusMile; $minLat = $latitude - $radiusLat; $maxLat = $latitude + $radiusLat; $data["maxLat"] = $maxLat; $data["minLat"] = $minLat; $mpdLng = $degree * cos($latitude * ($PI / 180)); $dpmLng = 1 / $mpdLng; $radiusLng = $dpmLng * $raidusMile; $minLng = $longitude - $radiusLng; $maxLng = $longitude + $radiusLng; $data["maxLng"] = $maxLng; $data["minLng"] = $minLng; //print_r($data); return $data; }
Abschließend berechnen und vergleichen wir die Geschäfte Innerhalb von 1000 Metern können Sie erkennen, welches Geschäft am nächsten liegt, indem Sie die Entfernung zwischen den einzelnen Geschäften kennen.
//计算出半径范围内的店 public function getdz($lat, $lng) { include_once('my_db.php'); $this->qu = new MY_DB_ALL("QUICK"); //$ret = json_decode($this->getlat($address), true); //print_r($ret);exit; $data = $this->getAround($lat, $lng, 2000); //print_r($data); $sql = "select * from shop where baidu_lat between '" . $data['minLat'] . "' and '" . $data['maxLat'] . "' and baidu_lng between '" . $data['minLng'] . "' and '" . $data['maxLng'] . "' and status=1 and ztd_flag=2"; $rett = $this->qu->rquery($sql); for ($i=0;$i<count($rett);$i++) { $array[$i]["shop_id"] = $rett[$i]["shop_id"]; $array[$i]["shop_name"] = iconv("gbk","utf-8",$rett[$i]["shop_name"]); $array[$i]["shop_address"] = iconv("gbk","utf-8",$rett[$i]["shop_address"]); $array[$i]["shop_date"] = $rett[$i]["shop_date"]; $array[$i]['shop_phone'] = $rett[$i]["shop_phone"]; $array[$i]['area'] = $rett[$i]["area"]; } //echo "<pre class="brush:php;toolbar:false">";print_r($array);exit; echo json_encode($array); }
Im Folgenden wird beschrieben, wie anhand des Längen- und Breitengrads ermittelt werden kann, welche Geschäfte in einem bestimmten Bereich am nächsten zu den Kunden sind, z. B. welche Geschäfte einem bestimmten Geschäft im Umkreis von 1000 Metern am nächsten sind, einschließlich einiger Aspekte des Inhalts Interesse an PHP-Tutorials haben.
/** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ public function getDistance($lat1, $lng1, $lat2, $lng2) { $earthRadius = 6367000; //地球半径 $lat1 = ($lat1 * pi() ) / 180; $lng1 = ($lng1 * pi() ) / 180; $lat2 = ($lat2 * pi() ) / 180; $lng2 = ($lng2 * pi() ) / 180; $calcLongitude = $lng2 - $lng1; $calcLatitude = $lat2 - $lat1; $stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2); $stepTwo = 2 * asin(min(1, sqrt($stepOne))); $calculatedDistance = $earthRadius * $stepTwo; return round($calculatedDistance); }

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Der Datenordner enthält System- und Programmdaten, wie z. B. Softwareeinstellungen und Installationspakete. Jeder Ordner im Datenordner stellt einen anderen Typ von Datenspeicherordner dar, unabhängig davon, ob sich die Datendatei auf den Dateinamen „Data“ oder die Dateierweiterung „Benannte Daten“ bezieht Es handelt sich bei allen um vom System oder Programm angepasste Datendateien. Daten sind eine Sicherungsdatei zur Datenspeicherung, die im Allgemeinen mit Meidaplayer, Notepad oder Word geöffnet werden kann.

Die Lösung für die verstümmelten MySQL-Ladedaten: 1. Suchen Sie die SQL-Anweisung mit verstümmelten Zeichen. 2. Ändern Sie die Anweisung in „LOAD DATA LOCAL INFILE „employee.txt“ INTO TABLE EMPLOYEE Zeichensatz utf8;“.

Die Unterschiede sind: 1. xdata bezieht sich normalerweise auf unabhängige Variablen, während sich data auf den gesamten Datensatz bezieht. 2. xdata wird hauptsächlich zum Erstellen von Datenanalysemodellen verwendet, während Daten normalerweise für Datenanalysen und Statistiken verwendet werden Für die Regressionsanalyse, Varianzanalyse und Vorhersagemodellierung können Daten mit verschiedenen statistischen Methoden analysiert werden. 4. xdata erfordert normalerweise eine Datenvorverarbeitung und Daten können vollständige Originaldaten enthalten.

Kurz nach der Einführung des Humane Ai Pin ergaben vernichtende Kritiken, dass das KI-Gadget alles andere als marktreif sei, da die meisten der ursprünglich beworbenen Funktionen entweder nicht richtig funktionierten oder einfach fehlten, ebenso wie die Akkulaufzeit

Nein, Daten in der Vue-Komponente müssen eine Funktion sein. Um die Wiederverwendung von Daten zu verhindern, werden Komponenten in Vue als Funktionen definiert. Die Daten in der Vue-Komponente sollten voneinander isoliert sein und sich nicht gegenseitig beeinflussen. Bei jeder Wiederverwendung der Komponente sollten die Datendaten einmal kopiert werden. Andere Daten werden kopiert. Wenn die Daten der wiederverwendeten lokalen Komponenten nicht betroffen sind, müssen Sie über die Datenfunktion ein Objekt als Status der Komponente zurückgeben.

Jeder und seine Tante scheinen auf der Suche nach überhöhten Gewinnspannen und einem Marketing-Hype auf den KI-Zug aufzuspringen – schauen Sie sich nur AMDs jüngstes Ryzen-Rebranding als Paradebeispiel für diesen KI-Hype an. Das hat eine aktuelle Studie von RAND herausgefunden

Eine Kerngeschäftsdatenbank, die Version ist MySQL8.34 Community Server Edition. Seit seiner Einführung ist das Fehlerprotokoll dieses Datenbankservers sehr schnell gestiegen (wie in der Abbildung unten dargestellt) und kann alle 24 Stunden eine Kapazität von mehr als 10 G erreichen. Da ein Störungsalarm vorlag und der normale Zugang zum Betrieb nicht beeinträchtigt war, durfte das zuständige Personal den MySQL-Dienst nicht neu starten. Angesichts dieser Situation musste ich eine automatische geplante Aufgabe einrichten, um diese Protokolle jede Nacht zu einer festen Zeit zu bereinigen. Führen Sie für bestimmte Vorgänge „crontab -e“ in der Systembefehlszeile aus und fügen Sie die folgende Textzeile hinzu: 0001***echo>/data/mysql8/data/mysql_db/mysql.log Speichern Sie und verlassen Sie den Bearbeitungsmodus
