ホームページ >バックエンド開発 >PHPチュートリアル >JavaScript - ユーザーの緯度と経度を取得し、2 つの場所間の距離を計算するにはどうすればよいですか?
現在地の緯度と経度を取得するにはどうすればよいですか? 2 つの場所の経度と緯度がわかった後、2 つの場所間の距離を計算するにはどうすればよいでしょうか?
現在、パブリック アカウントで作業しています。ユーザーの緯度と経度を取得し、ユーザーの経度および緯度から別の場所までの距離を計算する必要があります。どうすればこれを達成できますか?助けてください、ありがとう!
現在地の緯度と経度を取得するにはどうすればよいですか? 2 つの場所の経度と緯度がわかった後、2 つの場所間の距離を計算するにはどうすればよいでしょうか?
現在、パブリック アカウントで作業しています。ユーザーの緯度と経度を取得し、ユーザーの経度および緯度から別の場所までの距離を計算する必要があります。どうすればこれを達成できますか?助けてください、ありがとう!
PHPは「近くの人」機能を実装し、IPに基づいて経度と緯度を決定し、経度と緯度に基づいて距離を計算します
PHP は、GeoIP 拡張機能とデータベースをインストールして、IP に基づいて訪問者の国/都市/緯度と経度を取得します。その後、
を使用してユーザーの IP に基づいて緯度と経度を決定できます。geoip_record_by_name($_SERVER['REMOTE_ADDR'])
注: 西経と南緯。 geoip_record_by_name() によって返されるのは負の数値です。
緯度: 1度 = 110852 m
経度: 1度 = 111320*cos(lat) m
同じ経度線上では、1つの緯度の差は約110852メートルです
同じ経度線上では緯度線、経度1つの差 約111320*cos(lat)メートル(latは緯度の緯度)
リーリー
($lat-$y) <= lat <= ($lat+$y)
($lon-$x ) < ;= lon <= ($lon+$x)
この範囲は大まかな範囲です。以下の距離を計算して、5 キロメートル以上離れているユーザーを除外してください。
Haversine の公式を使用して、緯度と経度に基づいて 2 点間の距離を計算します。
リーリー
その後、uasort または array_multisort を使用して、最も近いユーザーから遠いユーザーまでリストすることができます。たとえば、win、osx、lin という名前の 3 人のユーザーがいます。
リーリー
Baidu がインターフェースを提供します
GeoIP https://sjolzy.cn/GeoIP-PHP-v...
私が集めた関数を元の投稿者と共有します
直接呼び出すことができます
https://gist.github.com/wujun...