RoR-Geokit插件:为什么Location.find会返回一个空数组?(位置是“充当”可映射“的模型)

RoR-Geokit插件:为什么Location.find会返回一个空数组?(位置是“充当”可映射“的模型),geokit,Geokit,我已经安装了GeoKitGem和GeoKitRails插件。我按照如下所示配置了插件:。然后我生成了一个新的模型-位置,如下所示: 类位置:公里数 结束 和控制器: 类TestController 100矛ST,旧金山,CA,内:=5) 结束 结束 我还在数据库中设置了一个包含lng和lat列的Locations表,并将我的google键放在/config/initializers/geokit_config.rb中 现在,虽然@a从YahooGeocoder给了我正确的结果(我也可以

我已经安装了GeoKitGem和GeoKitRails插件。我按照如下所示配置了插件:。然后我生成了一个新的模型-位置,如下所示:


类位置
作为可映射:默认单位=>:公里数
结束

和控制器:

类TestController
包括地理套件::地理编码器
包括GeoKit::可映射
def测试1
@a=地理套件::地理编码器::YahooGeocoder.geocode“台湾高雄市” @ B=位置:查找(:所有,原点= > 100矛ST,旧金山,CA,内:=5)
结束
结束


我还在数据库中设置了一个包含lng和lat列的Locations表,并将我的google键放在/config/initializers/geokit_config.rb中
现在,虽然@a从YahooGeocoder给了我正确的结果(我也可以使用GoogleGeocoder),@b是一个空数组。我知道@a是使用Geokit gem生成的,@b是使用Geokit rails插件生成的,所以问题肯定与插件有关。当我使用
@c=IpGeocoder.geocode('85.128.202.178')
时,我得到“success:false”。。。我在这里做错了什么?

您是否仔细检查了您的位置收集,以确保在该街道地址的5公里范围内存在一个位置?如果使用位置的明确纬度和经度执行类似的查找,会发生什么情况

Re:@success=false,我在使用IP时遇到了同样的问题(使用IpGeocoder和MultiGeocoder)

>@c=IpGeocoder.geocode('85.128.202.178')
=> #
>>@c=IpGeocoder.geocode('74.125.93.104'))
=> #
>> @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>