私は現在、状態、都市、緯度、経度の4つの列を持つテーブルをmysqlデータベースに持っています。 緯度と経度の列の型はfloat(10,6)です。 WXYZは、任意の桁できmysql番号ワイルドカード
SELECT * FROM `mytable` WHERE `Latitude` LIKE '41.wxyz' and 'Longitude' LIKE '-87.wxyz'
:私は、私は同様の緯度経度のエントリを検索することができますMySQLのクエリを実装するために探しています 、例えば、私はこのような何かを実装したいです。私はこれをやりたいので、任意の任意の座標に近いすべての都市を返すことができます。誰も私を助けることができますか?
解説/更新 以下の回答で私のアプリケーションが私の望んだことをすることができませんでした。私は皆様のご意見をお待ちしております。 SQLクエリの知識を広げることができました。緯度と経度のペアについて私のアプリケーションが近くの場所を見つけるために、私はHaversine式を使用しました。このGoogleマップの記事で詳しく説明します。 https://developers.google.com/maps/articles/phpsqlsearch
SELECT id, (3959 * acos(cos(radians(37)) * cos(radians(lat)) * cos(radians(lng) - radians(-122)) + sin(radians(37)) * sin(radians(lat)))) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;
ここで、latとlngはmysqlテーブルの列です。 37と-122は、あなたのテーブルの他の近くの座標を見つける座標です。 :)あなたにも、このことによってそれを行うことができます