检测当前位置。

doko的Python项目详细描述


https://badge.fury.io/py/doko.pnghttps://travis-ci.org/larsyencken/doko.png?branch=masterhttps://pypip.in/d/doko/badge.png

一个简单的命令行实用程序(和python模块)来确定当前位置。

Doko是Victor Jalencas的whereami实用程序的克隆,但与Whereami不同,它支持多种策略来查找您的位置。

感谢Richo Healey的创意和补丁。

安装

geoip

默认情况下使用geoip。要仅安装geoip支持,请运行:

$ pip install doko

然后,您需要下载一个maxmindfree GeoIP2 database,解压缩它并将GEOIP2_FILE环境变量设置为指向它。

核心位置

但是,在OSX10.6(雪豹)或更高版本上,您还可以使用更精确的核心位置框架:

$ pip install doko[corelocation]

核心位置依赖项的安装时间要长得多,所以去喝杯咖啡吧。事实上,做几杯咖啡。

一旦安装了启用core location的doko包,就需要在系统首选项的“安全”或“安全和隐私”部分中启用corelocation。此外,您必须使用wifi才能工作。

黑客攻击

对于OSX上的黑客攻击,您可能需要安装requires-corelocation.txtrequires.txt

使用make test运行测试。

在命令行上使用

只需运行doko命令:

$ doko
35.674,139.701

根据可用的策略,这将给出关于您所在位置的最佳猜测。使用--show选项在谷歌地图中打开该位置。

对使用的策略和返回的精度进行更细粒度的控制。见doko --help

用作模块

> import doko
> doko.location('geoip')  # on any platform
Location(latitude=35.674, longitude=139.701, source='geoip')
> doko.location('corelocation')  # on OS X, using Core Location
Location(latitude=35.674851, longitude=139.701419, source='corelocation')
> doko.Location.set_precision(2)
> doko.location()
Location(latitude=35.67, longitude=139.70, source='corelocation')

地标

可以使用doko-landmark命令存储已知的地标,然后可以使用DOKO_LANDMARK环境变量将其指定给doko。如果您经常去某个没有GPS的地方,这很有用:

$ doko-landmark --add ueno-park 35.713965 139.77411
$ doko-landmark --list
ueno-park [35.713965, 139.77411]
$ doko  # will give its best guess
35.674851,139.70141
$ DOKO_LANDMARK=ueno-park doko  # will use the landmark
35.713965,139.77411

更改日志

0.4.0

  • 迁移到geoip2数据库而不是web服务
  • 提供有关将数据库下载和安装到GEOIP2_FILE
  • 的说明
  • 使用make
  • 运行测试和lint

0.3.1

    < >使更灵活的依赖项。

0.3.0

  • 添加存储和使用已知地标的方法
  • 添加由--cache选项启用的缓存策略
  • 在位置元组中包含位置源
  • 在命令行上添加--show-strategy选项

0.2.0

  • 通过使核心位置可选,使Doko多平台
  • Geoip查找的荣誉超时
  • 提供对精度的控制以支持隐私

0.1.0

  • 使用核心位置获取纬度和经度
  • 通过geobytes页面提供备份方法
Bitdeli badge

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
文件名的java正则表达式限制名称大小和文件扩展名   Mac上的java Android SDK:jspawnhelper意外退出   java SQL Server 2000到Oracle 12c重音字符   在Java中快速比较大数据集中的值和小数据集中的值   java在代码中的许多地方保留对对象的引用   Java规范中私有内部类的jvm访问标志与反射API不一致?   比较2个int数组中匹配的数字   java Apache Commons数学简化回归:get prediction stderr   安卓 Java SDK管理器因命令行输出中的“flashplayerplugin”而崩溃   JavaSQLite:关闭DB时必须关闭游标吗?   泛型Java设计抽象类声明示例说明   java应用程序在添加片段时崩溃   如何在java中使用注释为字段加载值