0

特定のポイントからの距離で場所を並べ替えるコードをテストしていますが、コードを取得しても何も返されません...

このURLを入力しています

http://localhost:8888/jsontest.php?category=all&long=-2.837275&lat=51.967825 

現在の場所として緯度と経度の変数を入力するには、クエリを次に示します。

mysql_query("SELECT *,  ( 3959 * acos( cos( radians('$lat') ) *  cos( radians( lat ) ) *  cos( radians( long ) -  radians('$lon') ) +  sin( radians('$lat') ) *  sin( radians( lat ) ) ) )  AS distance FROM LISTINGS ORDER BY distance ASC");

URL から変数を取得する:

$lon = $_GET["long"];
$lat = $_GET["lat"];

データベーステーブル名はリストです。緯度と経度の列は緯度と経度と呼ばれます。誰でも助けてくれます!

ありがとう。

4

1 に答える 1

0

地理空間計算を手動で行う理由がわかりません。Near 、 Radios 、 Box 、 Polygon 、または Relative Distance が必要な場合は複雑になります。.... MySQL にはSpatial Extensionsがあるか、 MongoDBを使用するほうが適切です。

db.places.find( { loc : { $near : [-2.837275,51.967825] } } )

上記のクエリは、最も近いポイントを見つけて、距離で並べ替え(-2.837275,51.967825)て返します(追加の並べ替えパラメーターは必要ありません)。

于 2012-12-06T18:17:29.303 に答える