11

https://github.com/alexreisner/geocoder

IPアドレスから訪問者の都市を示すドキュメントが見つかりませんか?HTML5の使い方は知っていますが、ジオコーダーの価値を利用したいと思います。ありがとう

4

4 に答える 4

8

答えが非常に単純であることに気付くのに数時間かかりました。

request.location.city

ジオコーダーページにはこの例がありますが、リクエストを宣言する必要があると思いましたが、それ以上は必要ありません。

Geocoderがない場合は、gemをインストールする必要がありますが、それ以外は何もしません。

于 2013-12-19T20:36:06.223 に答える
6

私のやり方は-

location = Geokit::Geocoders::IpGeocoder.geocode(source_ip)
city = location.city
country = location.country

ここで、source_ipは文字列オブジェクトです。

于 2012-04-09T16:56:22.013 に答える
1

あなたは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でライアンによってキャストされたスーパーデュパースクリーンがあります

于 2012-04-09T15:06:07.203 に答える
1
# app/models/user.rb
geocoded_by :ip_address,
  :latitude => :lat, :longitude => :lon
after_validation :geocode

ジオコーダーサイトからのスニペット。

于 2012-04-09T14:33:03.893 に答える