1

geokit gem と geokit-rails プラグインの両方をインストールしました。ここに示すようにプラグインを構成しました: http://github.com/andre/geokit-rails。次に、次のような新しいモデル - Location を生成しました。

class Location < ActiveRecord::Base
acts_as_mappable :default_units => :kms
end

コントローラー: データベースに lng 列と lat 列の両方を含む Locations テーブルを設定し、Google キーを /config/initializers/geokit_config.rb に配置しました。 GoogleGeocoder も使用できます)、@b は空の配列です。@a は Geokit gem を使用して生成され、@b は Geokit-rails プラグインを使用して生成されることがわかっているため、問題は間違いなくプラグインに関連しています。使用すると「成功:偽」と表示されます...ここで何が間違っていますか?
class TestController < ApplicationController
include GeoKit::Geocoders
include GeoKit::Mappable
def test1
@a=Geokit::Geocoders::YahooGeocoder.geocode 'Kaohsiung City, Taiwan' @b=Location.find(:all, :origin => '100 Spear st, San Francisco, CA', :within => 5)
end
end


@c=IpGeocoder.geocode('85.128.202.178')

4

1 に答える 1

0

Location コレクションを再確認して、その番地から 5 km 以内に場所が存在することを確認しましたか? ロケーションの明示的な緯度と経度を使用して同様のルックアップを行うとどうなるでしょうか?

Re: @success=false、その IP で同じ問題が発生しています (IpGeocoder と MultiGeocoder を使用)。

>> @c=IpGeocoder.geocode('85.128.202.178')
=> #<Geokit::GeoLoc:0x1038df5f0 @success=false, @city="(Unknown City)", @province=nil, @street_address=nil, @lng=nil, @full_address=nil, @state=nil, @country_code="PL", @all=[#<Geokit::GeoLoc:0x1038df5f0 ...>], @lat=nil, @precision="unknown", @provider="hostip", @zip=nil>
>> @c=IpGeocoder.geocode('74.125.93.104')
=> #<Geokit::GeoLoc:0x1038d3c28 @success=true, @city="Manila", @province=nil, @street_address=nil, @lng=120.95, @full_address=nil, @state=nil, @country_code="PH", @all=[#<Geokit::GeoLoc:0x1038d3c28 ...>], @lat=14.5833, @precision="unknown", @provider="hostip", @zip=nil>
于 2011-04-20T03:12:20.710 に答える