1

緯度と経度からタイムゾーンを取得したいRailsアプリに取り組んでいます。これをstackoverflowで検索したところ、これを行うための最良の方法としてこのリンクが見つかりました。

gems geokittimezoneの両方をインストールし、コンソールに同じものを実装しようとしました。

require 'geokit'
require 'timezone'
res = Geokit::Geocoders::GoogleGeocoder.geocode('140 Market St, San Francisco, CA')
timezone = Timezone::Zone.new(:latlon => res.ll)

しかし、私はこのエラーが発生します:

ArgumentError: wrong number of arguments (1 for 2)

Timezoneのドキュメントを確認しました。彼らは、サインアップしてユーザー名を取得するよう求めます。しかし、アクティベーションメールをまだ受け取っていません。誰かがこれに対する解決策を提案できますか。

前もって感謝します。

4

1 に答える 1

0

Timezone::Zone.new(:latlon => res.ll) の呼び出しが機能しないようです (少なくとも同じエラーが発生しました)。Google から返される res.ll 値の形式が変更されたためだと思います。しかし、この呼び出しは仕事をするはずです:

Timezone::Zone.new(lat: res.lat, lon: res.lng)

ただし、最初に GeoNames でアカウントを作成し、ここで有効にしてください。また、timezone gem の初期化子を作成して構成する必要があります。後者はここで説明されています: timezone/lib/timezone/configure.rb

于 2015-04-11T09:59:04.427 に答える