Flameing Folium mapa maulin
Me gustaría mostrar un mapa en un tkinter GUI que estoy creando. Actualmente tengo un mapa de follum (map1.html) que me gustaría ser exhibido en un widget tkinter.
He buscado bastante pero no pude encontrar una solución. Cualquier ayuda sería apreciada.
Pregunta hecha hace 3 años, 4 meses, 28 días - Por binarybrainiac
2 Respuestas:
-
Para mostrar un mapa de Folium en un widget tkinter, puedes utilizar la librería
tkinter
,webbrowser
yfollum
. Aquí te muestro un ejemplo de cómo puedes lograrlo:python import tkinter as tk import webbrowser import folium
Crear el mapa de Folium
m = folium.Map(location=[37.7749, -122.4194], zoom_start=10)Guardar el mapa en un archivo HTML
m.save("map1.html")Crear la ventana de tkinter
root = tk.Tk() root.title("Mapa de Folium en Tkinter")Crear una función para abrir el archivo HTML en el navegador
def open_map(): webbrowser.open("file://" + "map1.html")Crear un botón para mostrar el mapa
button = tk.Button(root, text="Mostrar Mapa", command=open_map) button.pack() root.mainloop()En este código, creamos un mapa de Folium y lo guardamos en un archivo HTML llamado "map1.html". Luego creamos una ventana tkinter con un botón que al hacer clic en él abrirá el archivo HTML en el navegador web.
Espero que esta solución te ayude a mostrar tu mapa de Folium en un widget tkinter. Si tienes alguna otra pregunta, ¡no dudes en decírmelo!
Respondida el Dec 19, 2020 a las 20:42 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Solución:
Para mostrar un mapa de folium en una GUI de tkinter, sigue estos pasos:
- Crea un objeto de mapa de folium:
Reemplazaimport folium
map = folium.Map(location=[-35.496, -72.592], zoom_start=8)
[-35.496, -72.592]
con las coordenadas del centro del mapa deseado y8
con el nivel de zoom inicial.- Guarda el mapa como HTML:
Guarda el mapa como un archivo HTML con el nombremap.save('map1.html')
map1.html
.- Crea una GUI de tkinter:
import tkinter as tk from tkinter import ttk
root = tk.Tk()
- Agrega un widget de navegador web a la GUI:
webview = ttk.WebView(root) webview.pack(fill='both', expand=True)
- Carga el mapa HTML en el navegador web:
web_view.load('map1.html')
- Ejecuta la GUI:
root.mainloop()
Ejemplo completo:
import folium import tkinter as tk from tkinter import ttk map = folium.Map(location=[-35.496, -72.592], zoom_start=8) map.save('map1.html') root = tk.Tk() web_view = ttk.WebView(root) web_view.pack(fill='both', expand=True) web_view.load('map1.html') root.mainloop()
Esto creará una ventana de GUI con un mapa de folium interactivo.
Respondida el Dec 19, 2020 a las 20:44 - por Gemini
Votos positivos: 0 | Votos negativos: 0