Skip to content

Mapview is a Kivy widget for displaying interactive maps.

License

Notifications You must be signed in to change notification settings

kwag/garden.mapview

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mapview

Mapview is a Kivy widget for displaying interactive maps. It has been designed with lot of inspirations of Libchamplain and Leaflet.

The goal of this widget is to be a replacement of Google Maps widget, even if this one works very well, it just works on Android with Kivy. I wanted a map widget that can support custom map, and designed with the latests state-of-the-art Kivy's methods.

ScreenShot

Marker clustering

Features

  • native multitouch (one for translate, many for translate and zoom)
  • asynchronous downloading
  • avoided GPU limitation / float precisions issues on tiles coordinates
  • marker support
  • blazing fast!
  • supports Z/X/Y providers by default with MapSource
  • supports .mbtiles via MBTilesMapSource
  • supports marker clustering, via ClusteredMarkerLayer

Requirements

It requires the concurrent.futures and requests. If you are on python 2.7, you can use futures:

pip install futures requests

If you use it on Android / iOS, don't forget to add openssl as a requirements, otherwise you'll have an issue when importing urllib3 from requests.

Install

Install the mapview garden module using the garden tool:

garden install mapview

Usage

This widget can be either used within Python or Kv. That's said, not everything can be done in Kv, to prevent too much computing.

from kivy.garden.mapview import MapView
from kivy.app import App

class MapViewApp(App):
    def build(self):
        mapview = MapView(zoom=11, lat=50.6394, lon=3.057)
        return mapview

MapViewApp().run()

More extensive documentation will come soon.

About

Mapview is a Kivy widget for displaying interactive maps.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%