RoR - Geokit 插件:为什么 Location.find 给我返回一个空数组? (位置是“acts_as_mappable”的模型)
我已经安装了 geokit gem 和 geokit-rails 插件。我配置了插件,如下所示: http://github.com/andre/geokit-rails .然后我生成了一个新模型 - Location,如下所示:
类位置 < ActiveRecord::Base
act_as_mappable :default_units =>; :公里
结尾
和一个控制器:
<代码> 类 TestController <应用程序控制器
包括 GeoKit::Geocoders
包括 GeoKit::Mappable
定义测试1
@a=Geokit::Geocoders::YahooGeocoder.geocode '台湾高雄市' @b=Location.find(:all, :origin => '100 Spear st, San Francisco, CA', :within => 5)
结束
结尾
我还在数据库中设置了一个包含 lng 和 lat 列的位置表,并将我的 google key 放入 /config/initializers/geokit_config.rb 现在,虽然 @a 从 YahooGeocoder 给出了正确的结果(我也可以使用 GoogleGeocoder),但 @b 是一个空数组。我知道@a是使用Geokit gem生成的,@b是使用Geokit-rails插件生成的,所以问题肯定与插件有关。当我使用 @c=IpGeocoder.geocode('85.128.202.178')
时,我得到“success: false”...我在这里做错了什么?
I have installed both geokit gem and geokit-rails plugin. I configured the plugin as shown here: http://github.com/andre/geokit-rails . Then I generated a new model - Location, which looks like this:
class Location < ActiveRecord::Base
acts_as_mappable :default_units => :kms
end
and a controller:
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
I also set up a Locations table with both lng and lat columns in my database and put my google key in /config/initializers/geokit_config.rb
And right now, altough @a is giving me correct results from YahooGeocoder (I can use GoogleGeocoder as well), @b is an empty array. I know @a is generated using Geokit gem and @b using Geokit-rails plugin, so the problem is definitely related to the plugin. When I use @c=IpGeocoder.geocode('85.128.202.178')
I get "success: false" ... What am I doing wrong here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否仔细检查过您的位置集合,以确保在该街道地址 5 公里范围内存在一个位置?如果您使用某个位置的显式纬度和经度进行类似的查找,会发生什么?
回复:@success=false,我对该 IP 也遇到同样的问题(使用 IpGeocoder 和 MultiGeocoder)。
Have you double checked your Location collection to ensure there exists a location within 5 kilometers of that street address? What happens if you do a similar lookup with an explicit latitude and longitude of a Location?
Re: @success=false, I'm having the same trouble with that IP (using IpGeocoder and MultiGeocoder).