Я начал использовать Folium для публикации некоторых карт в графическом интерфейсе. Пользователь может ввести начальную и конечную координаты, и они отображаются как Folium Markers
. Я знаю, что библиотека Folium - это просто оболочка для Leaflet, поэтому можем ли мы использовать родительскую библиотеку для методов, которых нет в Folium?
Например, я хочу использовать метод Leaflet.LatLng.distanceTo
для вычисления расстояния междуначальные и конечные координаты, используя реализованный сферический закон косинусов. Как я мог использовать их в моих .py
файлах?
Я Прикрепил этот пример кода, чтобы показать, где я застрял:
.
..
...
self.map = QtWebEngineWidgets.QWebEngineView(self.centralwidget)
..
..
self.m = folium.Map(
location=[32.5236, 54], tiles="Stamen terrain", zoom_start=5, control_scale= True,
box_zoom= True)
# adds the markers
self.marker1 = folium.Marker((lat_1, lng_1)).add_to(self.m)
self.marker2 = folium.Marker((lat_2, lng_2)).add_to(self.m)
#add above to the map
self.data = io.BytesIO()
self.m.save(self.data, close_file=False)
self.map.setHtml(self.data.getvalue().decode())
self.m.add_child(folium.LatLngPopup())
"""
Enter the JavaScript Leaflet
{
Here I want "Leaflet.distanceTo((lat_1, lng_1), (lat_2, lng_2))" method
}
"""
Одним из других недостатков Foilum является невозможностьудалить элементы карты, такие как стартовый маркер, который пользователь хочет отредактировать (эта часть не имеет значения, я говорю это только для того, чтобы вы лучше ознакомились с ситуацией). Было бы действительно хорошо решить их, используя соответствующие методы Leaflet.
Любая идея была бы очень обязательна ...