For Kivy desktop applications you have another option for maps. You can use CEF Python to embed a web browser in your Kivy App. You can direct this browser to an HTML file that loads web based maps.
In order to use CEF Python, you'll have to install the module cefpython3. I'm pretty sure you can install this using:
kivy -m pip install cefpython3
otherwise, you can use a traditional pip install
and move the module into a location where kivy can access it.
From this sample code, I made the following example by changing the start_url
of the web browser like:
start_url="file://"+GetApplicationPath("testMaps.html")
Where testMaps.html
is an HTML file with this Google Maps's sample code (the HTML + JavaScript version).
The Kivy code that I'm running is long and kind of complicated because CEF Python takes a lot of configuring... I probably don't need all the code that's in there, but I haven't tried slimming it down yet.
EDIT: updated link for the kivy code at the bottom of this answer
Yeah... pretty beefy. The HTML file will have to be in the same directory as the above code for it to work properly. Also, I put this together on a Mac, and some things might be different on Windows and Linux. Although the sample code I started with was written for Linux, so it could be that just the Windows folks will run into trouble.
If you've gotten the code to run and you're wondering what the forward and back buttons are for; that's just legacy from the example code I used as a base, and has nothing to do with the map.
Last note: I used Google Maps for this example, but with this method you could use any web based mapping utility.
Here is an updated link to the file:
https://drive.google.com/file/d/0B3003wRVnBn2cGZvcHhoWi04d0E/view?usp=drivesdk&resourcekey=0-3Xh_HbqtT07aO2r4uZmP6A