基本的に、ローカル イベントをページ上の人々に表示したいと考えています。ですから、もしあなたがカリフォルニア出身なら、フロリダ出身の人とは違うものを持っているでしょう. プロジェクトの残りの部分で php を使用する予定なので、php は必須です。
ユーザーに追加情報を求めることなくデータを取得したいと思います。追加情報を求める必要がある場合は、その郵便番号を IP とともにデータベースに保存するよりも郵便番号を使用したいので、再度尋ねる必要はありませんでした。
GEO IP 機能を使用すれば、完全ではないにしても、90% まで到達できると思います。
訪問者の場所を推測しようとしていますか?それが必要な場合は、 PHPGeoIP拡張機能またはMaxMindGeoIPapiを参照してください。どちらも同じデータベースを使用し、無料と有料のデータベースを提供しています。
この方法の問題の1つは、IPアドレスが正確な場所を保証しないことです。しかし、それはしばしば良い出発点です。あなたは訪問者が彼らの場所を修正するのを簡単にするべきです。
より正確な可能性のある方法は、HTML5ジオロケーションAPIを使用することですが、これは実験的なものであり、最新のブラウザーでのみサポートされています。ブラウザがサポートされている場合でも、サイト訪問者には、自分の場所を見つけることができるハードウェア、または自分の場所を設定できるプラグインが必要です。このルートを使用する場合は、GeoIPの結果に基づいてフォールバックする必要があります。
人の居場所はどうやってわかるの?
たとえば、ISP アドレスがユーザーとは異なる状態にある可能性があるため、ISP を調べることはできません。
ログインする必要がある場合は、ログインしたときにどこにいたかを知ることができますが、旅行中で他の場所に滞在している場合は、あなたの情報が間違っています.
それが最初の挑戦になります。
取得しようとしている粒度に応じて、データベースがどのように見えるかが決まります。たとえば、道を歩いているときにモバイル デバイスを使用している場合、GPS データを使用して近くにあるグルテンフリーのレストランを特定できますか? それとも、都市または大都市圏に基づいていますか?
GPSデータを使用していますか?
アプリケーションを更新するためのローカル イベントをどのように取得しますか?
本当に良い答えを出すために、答えられていない情報がたくさんあります。
他の人が言及したように、地理位置情報データベースで IP アドレスを調べることができます。誰もが指摘しているように、絶対確実ではありませんが、ほとんどの場合は機能するはずです。
また、Firefox の位置認識ブラウジングの使用を検討することもできますが、これも完全な方法ではありませんが、使用すると私の家を正確に特定してくれます。もちろん、これは Firefox 3.0 以降のユーザーに対してのみ機能し、「同意する」ボタンをクリックした後にのみ機能するため、明らかに問題がないわけではありません。
どちらの方法を選択しても、どこかにオーバーライドがあることを確認してください! あなたの方法は 99% の確率でうまくいくかもしれませんが、正しい情報がまったく表示されない 1% の人の中に私がいるとしたら、それは本当に面倒なことです!