Kivy - 地图选项(谷歌地图等)

10
进一步了解Kivy后,我开始想知道有哪些地图选项可用(无论是谷歌地图还是类似于开放街道地图的东西)。到目前为止,我找到了以下信息: KivyMaps 链接:这是我找到的最有用的模块。它应该能在Mac、Windows、Android和iOS(试验性)上运行,但是我找不到文档!我谷歌搜索了很多次,但还是不知道如何使用KivyMaps。 Kivy Mapview 链接:通过garden获得。文档很好,但他们说它只适用于Android。至少在我的Kivy + Mac上可以显示和移动地图,但设置坐标并更改坐标则不行。
所以我想问的问题是:你们用什么地图?还有其他可用的选项吗?KivyMaps文档在哪里(有人可以提供示例吗)?

2
KivyMaps示例用法:http://relet.github.io/kivyMaps/configuration.html - dan-klasson
我使用garden-mapview,它也可以在Linux上运行。它有很大的潜力,但还需要改进。你也可以为它做出贡献。 - kiok46
Kivy的地图视图在所有平台上都可以使用。我的观点是,实际上Kivy-Gmaps只能在Android上运行,而地图视图则可以在任何地方使用。我已经发布了适用于iOS/Android的应用程序,并且在Windows上也有一些安装。 - tito
2个回答

3

对于Kivy桌面应用程序,您可以选择另一种地图选项。您可以使用CEF Python在Kivy应用程序中嵌入Web浏览器。您可以将此浏览器指向加载基于Web的地图的HTML文件。

为了使用CEF Python,您需要安装模块cefpython3。我相信您可以使用以下命令进行安装:

kivy -m pip install cefpython3

否则,您可以使用传统的pip install命令,并将该模块移动到Kivy可以访问的位置。
通过更改Web浏览器的start_url,我从示例代码制作了以下示例:
start_url="file://"+GetApplicationPath("testMaps.html")

这里有一个名为 testMaps.html 的HTML文件,其中包含 Google Maps的示例代码(HTML + JavaScript版本)。

我正在运行的Kivy代码很长,而且有点复杂,因为CEF Python需要很多配置...我可能不需要里面的所有代码,但我还没有尝试过精简它。

编辑:更新了此答案底部的kivy代码链接。

是的...非常沉重。HTML文件必须与上述代码处于同一目录中才能正常工作。此外,我在Mac上放在一起的,Windows和Linux上可能会有所不同。虽然我使用的示例代码是为Linux编写的,因此只有Windows用户可能会遇到问题。

如果您已经让代码运行起来,并想知道前进和后退按钮是用来干什么的;那只是我用作基础的示例代码遗留下来的,与地图无关。

最后注意:我在这个示例中使用了Google Maps,但是使用这种方法,您可以使用任何基于Web的地图工具。

这里是文件的更新链接:https://drive.google.com/file/d/0B3003wRVnBn2cGZvcHhoWi04d0E/view?usp=drivesdk&resourcekey=0-3Xh_HbqtT07aO2r4uZmP6A


0
还有一个 Kivy-GMaps,但根据他们说,它也只能在Android上工作。
他们在README.md中提供了一些使用示例。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接