我想从我的Linux设备发送当前Lat Long的电子邮件.我在HTML5浏览器中尝试过geo location,效果很好.但我希望它在命令行上.我通过IP尝试了很多选项,例如curl,geoip到某些网站,但它们都显示了我的ISP的位置,而不是我的位...
我想从我的Linux设备发送当前Lat Long的电子邮件.我在HTML5浏览器中尝试过geo location,效果很好.但我希望它在命令行上.我通过IP尝试了很多选项,例如curl,geoip到某些网站,但它们都显示了我的ISP的位置,而不是我的位置.
我更喜欢在命令行或python等工具上使用它.
我可以成功编写一个python程序,打开一个HTML5地理定位代码的本地保存页面,并显示准确的纬度.然后自动python从浏览器中取出lat并在终端上显示.
文件:test.py
from splinter.browser import Browser
import os.path
import time
browser = Browser()
browser.visit('file://' + os.path.realpath('geo.html'))
time.sleep(5)
elements = browser.find_by_css("#demo")
div = elements[0]
print div.value
browser.quit()
文件:geo.html
<html>
<head>
<title>Test</title>
<p id="demo"></p>
<script type="text/javascript">
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
</head>
<body>
<p>The element below will receive content</p>
<div id="div" />
<script type="text/javascript">getLocation()</script>
</body>
</html>
但是有一个错误,每次python打开浏览器时,我都必须在浏览器中单击“共享位置:是”.因为页面在本地服务器上运行,而不是在任何Web服务器上运行.所以这个解决方案不适用.
任何人都可以建议我可靠的解决方案,以获得我在Linux命令行中当前的lat?
解决方法:
在Linux上,你需要与gpsd交谈.
>您可以与libgps:http://manpages.ubuntu.com/manpages/wily/en/man3/libgps.3.html交谈
>您可以使用DBUS接口.
>或者你可以使用python接口:how to use/install gps python library
本文标题为:javascript – 我希望在命令行上获得我的linux设备的准确纬度经度.就像HTML5中的Geolocation一样.我没有访问浏览器
- 面试必备之ajax原始请求 2023-02-24
- html滑动仿悬浮球菜单效果的实现 2022-09-20
- Ajax报错400的参考解决办法 2023-02-23
- JQuery Ajax请求拦截操作 2022-09-08
- 用vue创建项目 2023-10-08
- JavaScript canvas复刻苹果发布会环形进度条 2022-08-30
- 关于 extjs:Sencha Touch – 离线应用程序与离线存 2022-09-15
- ajax实现数据删除、查看详情功能 2023-01-31
- vue 中 get / delete 传递数组参数方法 2023-10-08
- vue编译报错 a dependency to an entry point is not allowed 2023-10-08