如何在离线使用的情况下在我的 Kivy 应用程序中显示 openstreetmap 磁贴?

问题描述

您好,stackoverflow 社区 - 我在这里问了几件事,所以我会先尝试详细概述我的项目:

我正在为我的搅拌机吉普车(TJ,如果你必须知道)制作一个触摸屏,它运行在 raspberry pi 3 A+ 上。我正在通过 GPIO 和一堆杂项小工具(如 GPS)集成 AC 控件,现在我正在尝试解决项目中最难的部分,即下载我所在地区的 openstreetmap 图块,并使用所述磁贴上的 GPS 全部离线。非常感谢 Kivy 的开发人员,我非常喜欢用它制作 GUI,而且了解 openstreetmap 社区也非常酷。

我正在寻求一些关于如何在我的 kivy 应用程序中显示地图的方向或想法,因为有很多事情我不知道/不完全理解它们是如何工作的。

  1. 应该使用哪些 Kivy 模块来显示磁贴?
  2. 我可以在 kivy 模块中嵌入 Javascript API 吗?
  3. 我是否必须使用 javascript,或者我可以使用 python 以另一种方式进行攻击吗? (this 看起来像是一个竞争者)
  4. 我应该学习什么编码语言来补充我的 python/julia/arduino-ish 技能以帮助实现这一目标?
  5. 我可以让我的 raspberry pi 假装它是一个 openstreetmap 服务器,供我的 kivy 应用程序 ping tile 请求吗?

任何方向都值得赞赏,这是一个雄心勃勃的项目,但这就是它的乐趣所在。再次重申,如果您曾在 kivy 上工作或为 openstreetmaps 做出过贡献,那么请为您点赞。

-费尔南多

编辑

在阅读 CEFPython3 文档后,我认为这可能是方法。如果我理解它是如何工作的(并请在此处纠正我),我可能会在 Kivy 的 CEF 浏览器小部件中运行 Leaflet.js,使用:

cef.ExecuteJavascript(jsCode="filepath/to/leaflet.js"),

然后使用 cef.executeFunction() 传递纬度和经度数据以及更新 javascript 地图对象的瓦片层?

*我引用的 Leaflet.js 代码是 here

*Cefpython 存储库是 here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...