I want to set markers on the map by clicking on it. When I click a marker is set. However, the marker is placed on the left lower corner of the map. What am I doing wrong?
from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy_garden.mapview import MapMarker
Builder.load_string(
'''
#:import MapView kivy_garden.mapview.MapView
#:import MapMarker kivy_garden.mapview.MapMarker
<SimpleRec>
name: "simple_rec"
MDBoxLayout:
MapView:
id: smap
lat: 48
lon: 7.82
zoom: 11
on_touch_down: root.on_map_touch_down(self, *args)
'''
)
class SimpleRec(Screen):
def __init__(self, **kwargs):
super().__init__(**kwargs)
def on_map_touch_down(self, touch, *args):
lat, lon = self.ids.smap.get_latlon_at(*touch.pos)
print(str(lat) + " " + str(lon))
marker = MapMarker(lat=lat, lon=lon)
self.ids.smap.add_marker(marker)
class MainApp(MDApp):
def build(self):
screen_manager = ScreenManager()
simple_rec = SimpleRec(name='simple_rec')
screen_manager.add_widget(simple_rec)
return screen_manager
if __name__ == '__main__':
MainApp().run()
Surprisingly, when I extracted the necessary snippets out of my code the position where the markers are set changed from upper left to lower left corner.