I have a problem with the python mapview library: kivy_garden.mapview: if I insert the zoom in the variable map = MapView(zoom=7) the map is completely obscured by a blue color as below you can see both the image and the code . Thanks, I await an answer.
# import & from
import time
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.core.window import Window
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.image import Image
from kivy.uix.textinput import TextInput
from kivy_garden.mapview import MapView, MapMarker
from kivy.uix.popup import Popup
from pyicloud import PyiCloudService
class DeviceInfoPopup(Popup):
def __init__(self, device_name, battery_level, altitude, **kwargs):
super(DeviceInfoPopup, self).__init__(**kwargs)
self.title = device_name
self.chiudi = Button(text="Close", size_hint=(1, 0.2), background_color="#ff0000", on_press=self.dismiss)
self.content = Label(text=f"Battery: {battery_level}%\nAltitude: {altitude}m")
self.content.add_widget(self.chiudi)
class Locgps(App):
def build(self):
self.window = GridLayout()
self.window.cols = 1
self.window.size_hint = (0.8, 0.9)
self.window.pos_hint = {"center_x":0.5, "center_y":0.5}
Window.size = (360, 640)
# create widget
self.label1 = (Label(text="Location GPS", size_hint=(1, 0.2), font_size="30sp", padding_y="2sp"))
self.image = Image(source="./ico.png")
self.labelmail = (Label(text="Enter mail (iCloud)", size_hint=(1, 0.2), color="#03d3fc"))
self.inputmail = (TextInput(size_hint=(1, 0.2)))
self.labelpassword = (Label(text="Enter password (iCloud)", size_hint=(1, 0.2), color="#03d3fc"))
self.inputpassword = (TextInput(size_hint=(1, 0.2)))
self.button = (Button(text="Connect", size_hint=(1, 0.2), bold=True, background_color="#03fc17"))
self.button.bind(on_press=self.connetti)
self.map = MapView(size_hint=(1, 1), )
# add widget
self.window.add_widget(self.label1)
self.window.add_widget(self.image)
self.window.add_widget(self.labelmail)
self.window.add_widget(self.inputmail)
self.window.add_widget(self.labelpassword)
self.window.add_widget(self.inputpassword)
self.window.add_widget(self.button)
self.window.add_widget(self.map)
# display window
return self.window
def connetti(self, instance,):
self.window.remove_widget(self.image)
self.window.remove_widget(self.labelmail)
self.window.remove_widget(self.inputmail)
self.window.remove_widget(self.labelpassword)
self.window.remove_widget(self.inputpassword)
self.button.text = "Quit"
self.button.background_color = "#fc0303"
self.button.bind(on_press=exit)
email = self.inputmail.text
password = self.inputpassword.text
if(email == "" and password == ""):
email = "mymail"
password="mypassword"
api = PyiCloudService(email, password)
devices = api.devices[0]
device_name = devices.status()["deviceDisplayName"]
device_battery = round(devices.status()["batteryLevel"]*100)
device_latitude = devices.location()["latitude"]
device_longitude = devices.location()["longitude"]
device_altitude = devices.location()["altitude"]
marker = MapMarker(lat=device_latitude, lon=device_longitude)
self.map.add_marker(marker)
self.map.set_zoom_at(100, device_latitude, device_longitude)
marker.bind(on_press=lambda x: DeviceInfoPopup(device_name, device_battery, device_altitude).open())
if __name__ == '__main__':
Locgps().run()
enter image description here
instead of blue there should be the map zoomed correctly with the marker marking the exact precision
I expected the map to print correctly and not be covered by the blue
source https://stackoverflow.com/questions/75177110/mapview-python-librarie-zoom-bug
Comments
Post a Comment