首页 > 解决方案 > 如何在 Kivy 中制作动态地图视图?

问题描述

我正在制作一个有地图的应用程序,我希望每次坐标不同时地图的位置都会改变,我试过用它ids来改变值,latlon它不起作用,请有人帮助我

import kivy
from kivymd.app import MDApp
from kivy.lang import Builder
from kivy_garden.mapview import MapView
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.uix.button import Button
from kivymd.uix.card import MDCard

kv = '''


Maap:
    elevation: 0
    padding: '0dp'
    size_hint: .95, .83
    pos_hint: {"center_x": .5, "center_y": .5}
    radius: [3]
    MapView:
        id: mapp
        zoom: 5
        lat: 
        lon: 
    Button:
        text: 'Change'
        on_press: root.change()
'''
class Maap(MDCard):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
    def change(self):
        self.ids.mapp.lat = 13.5435
        self.ids.mapp.lon = -89.5445


class App(MDApp):

    def build(self):
        
        return Builder.load_string(kv)

App().run()

标签: pythonkivykivymd

解决方案


我通过添加 2 个文本字段来解决它,其中 1 个具有纬度,2 个具有经度,然后将数据保存在 2 个变量中,然后在另一个函数中使用它们的值。


推荐阅读