我很困惑,免费的GeoLite2数据库还能提供坐标(纬度、经度(吗?
我一直在使用GeoLite,并且能够使用Geo::IP
和->latitude
调用来获取坐标。我已经查看了文档并生成了GeoIP2::Database::Reader
,但没有引用坐标。似乎只有在通过web API查询Maxmind时才可用。
注意:经过仔细考虑,考虑到客户反馈,我们决定不删除纬度和经度GeoLite2数据库中的坐标。
Maxmind似乎建议它应该还在那里?但是,Perl是如何访问它的呢?
GeoLite2提供纬度和经度。使用PerlGeoIP2
API,您应该能够访问以下内容:
my $reader = GeoIP2::Database::Reader->new(
file => '/path/to/database',
);
my $city = $reader->city( ip => '24.24.24.24' );
say $city->location->latitude;
say $city->location->longitude;
请注意,这些坐标是粗略估计。有关千米中坐标的估计精度(67%置信水平(,请参见$city->location->accuracy_radius
。