Динамически обновляйте openstreetmap с помощью pyqt и folium - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь создать отображение движущейся карты с помощью pyqt и folium для создания слоев на плитках openstreetmap. Я просто пытаюсь обновить карту один раз, нарисовав новую полилинию, но GUI остается пустым, пока не достигнет app.exec_(), когда вся карта появится с полилинией.

def window_setup():
    global app
    global win

    app = QApplication(sys.argv)
    win = QtWebEngineWidgets.QWebEngineView()
    win.setGeometry(200, 200, 640, 480)
    win.setWindowTitle("Live Map")
    win.show()

def osm_map():
    m = folium.Map(max_bounds = True)

    data = io.BytesIO()
    m.save(data, close_file=False)
    win.setHtml(data.getvalue().decode())
    data.close()

def update_map():
    m = folium.Map(max_bounds = True)
    m.add_child(folium.PolyLine(locations = [[-1, -1], [-2, -2]]))
    data = io.BytesIO()
    m.save(data, close_file=False)
    win.setHtml(data.getvalue().decode())
    data.close()

window_setup()
osm_map()
time.sleep(2)
update_map()
sys.exit(app.exec_())

Я надеюсь, что обновление GUI вначале при вызове osm_map(), а затем еще раз при вызове update_map(). Прочитав другие сообщения, возможно, будет полезно использовать потоки, но это не решило проблему. Я не уверен, в каком направлении мне следует двигаться, и любая помощь будет принята с благодарностью.

...