Google マップを使用して店舗検索を作成しています。
ユーザーは郵便番号を入力し、ドロップダウン メニューから場所からの距離 (5、10、15、20 マイル) を選択します。
その場所から指定された距離にある店舗を返し、地図上にマーカーを置きます。
次の列を持つ郵便番号テーブルがあります。
PostCode Latitude Longitude Easting Northing Grid Ref Country District Ward
およびこのテーブルと外部キーの関係を持つstoresテーブル
私は MVC3 と linq-sql を使用していますが、入力された郵便番号から 5 マイル離れた店舗だけを引き戻すクエリを作成する方法がわかりません。
編集
私は以下を見つけました:
select *,
acos(cos(51.720663 * (PI()/180)) *
cos(-0.299929 * (PI()/180)) *
cos(latitude * (PI()/180)) *
cos(longitude * (PI()/180))
+
cos(51.720663 * (PI()/180)) *
sin(-0.299929 * (PI()/180)) *
cos(latitude * (PI()/180)) *
sin(longitude * (PI()/180))
+
sin(51.720663 * (PI()/180)) *
sin(latitude * (PI()/180))
) * 3959 as Dist
from postcodes
having Dist < radius
order by Dist
しかし、この部分は機能しません:
having Dist < radius
order by Dist
私は何かが足りない..?
そして本当に可能であればlinqでこれをやりたい....
どんな助けでも大歓迎です。
ありがとう