https://github.com/alexreisner/geocoder
IPアドレスから訪問者の都市を示すドキュメントが見つかりませんか?HTML5の使い方は知っていますが、ジオコーダーの価値を利用したいと思います。ありがとう
https://github.com/alexreisner/geocoder
IPアドレスから訪問者の都市を示すドキュメントが見つかりませんか?HTML5の使い方は知っていますが、ジオコーダーの価値を利用したいと思います。ありがとう
答えが非常に単純であることに気付くのに数時間かかりました。
request.location.city
ジオコーダーページにはこの例がありますが、リクエストを宣言する必要があると思いましたが、それ以上は必要ありません。
Geocoderがない場合は、gemをインストールする必要がありますが、それ以外は何もしません。
私のやり方は-
location = Geokit::Geocoders::IpGeocoder.geocode(source_ip)
city = location.city
country = location.country
ここで、source_ipは文字列オブジェクトです。
あなたは2つの異なる方法でそれを行うことができます
1)訪問者の都市/住所を文字列として取得できる場合、ジオコーダーはそれを緯度と経度に自動的に変換します
class Message < ActiveRecord::Base
geocoded_by :full_address
after_validation :geocode
def full_address
"#{city}, Sri Lanka"
end
end
2)または、訪問者のIPを追跡する必要があります。例は、「geocoder」gemのホームページにあります。
注:次のようにnearbyメソッドを使用できます
<Active Record Object List>.near(<City Name>, <distance>, :order => :distance)
Ex: @messages = @messages.near("colombo", 10, :order => :distance)
そして、 railscastsでライアンによってキャストされたスーパーデュパースクリーンがあります
# app/models/user.rb
geocoded_by :ip_address,
:latitude => :lat, :longitude => :lon
after_validation :geocode
ジオコーダーサイトからのスニペット。