safwan092

tkinter_map_updating_using_threading

May 22nd, 2023
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.22 KB | None | 0 0
  1. import time
  2. import tkinter
  3. import tkintermapview #pip install tkintermapview
  4. import continuous_threading #pip install continuous-threading
  5.  
  6. root = tkinter.Tk()
  7. root.geometry(f"{1000}x{700}")
  8. root.title("map_view_simple_example.py")
  9.  
  10. numb =0
  11. lat = 21.577415
  12. lon = 39.110010
  13.  
  14. map_widget = tkintermapview.TkinterMapView(root, width=1000, height=700, corner_radius=0)
  15. map_widget.pack(fill="both", expand=True)
  16. map_widget.set_tile_server("https://mt0.google.com/vt/lyrs=m&hl=en&x={x}&y={y}&z={z}&s=Ga", max_zoom=22)
  17. map_widget.set_position(lat, lon, marker=False)
  18. map_widget.set_zoom(19)
  19.  
  20. def map_reload():
  21.  
  22.     #get new location data and display on map
  23.  
  24.     global numb
  25.     numb += 1
  26.     print(numb)
  27.     newlon = lon + (numb/1000)
  28.     stringLat = "{0:.6f}".format(lat)
  29.     stringLon = "{0:.6f}".format(newlon)
  30.     displayText = stringLat + " , " + stringLon
  31.     map_widget.set_position(lat, newlon, marker=False)
  32.     marker_1 = map_widget.set_marker(lat, newlon, text=displayText)
  33.  
  34.     #delay between every new marker
  35.     time.sleep(1)
  36.  
  37.     #cleaning old markers and creating new markers
  38.     map_widget.delete(marker_1)
  39.  
  40. th = continuous_threading.ContinuousThread(target=map_reload)
  41. th.start()
  42. root.mainloop()
Add Comment
Please, Sign In to add comment