我正在开发一个ruby应用程序,根据您的IP地址确定您的位置.我遇到了路障.我已经在这个网站上搜索过,但我已经找到的解决方案太笼统了.
这是错误:
uninitialized constant Place::IpGeocoder (NameError)
Run Code Online (Sandbox Code Playgroud)
我正在开发的代码:
require 'socket'
require 'geocoder'
require 'geokit'
class Place
def get_location
ip = UDPSocket.open {|s| s.connect("64.233.187.99", 1); s.addr.last}
location = IpGeocoder.geocode(ip.to_s())
end
end
me=Place.new
me.get_location
Run Code Online (Sandbox Code Playgroud)
我已经安装了宝石.我是否需要在java中创建它的实例?
您需要按照以下文档进行操作Geokit::Geocoders::IpGeocoder.
Geokit::Geocoders::IpGeocoder.geocode(ip.to_s())
Run Code Online (Sandbox Code Playgroud)
该类IpGeocoder在模块内定义Geokit::Geocoders.因此,要访问该类,您需要使用该类的完整路径,即Geokit::Geocoders::IpGeocoder使用范围解析运算符::.
| 归档时间: |
|
| 查看次数: |
8311 次 |
| 最近记录: |