Как добавить мобильный маркер геолокации на веб-карту Folium, которая автоматически обновляет положение?

У меня есть веб-карта, созданная на Python с использованием Folium. Я добавляю различные слои geojson из базовой базы данных. Я хотел бы провести пространственный анализ на основе местоположения пользователя и его положения относительно различных наложений карты. В рамках этого я хочу отобразить на карте маркер, который указывает текущее положение пользователя и который регулярно обновляется по мере его перемещения.

Я знаю, как добавлять маркеры на карту из Python, используя Folium.

Я знаю, как получить постоянно обновляемую широту / долготу пользователя с помощью JS

navigator.geolocation.watchPosition(showPosition)

который затем передает переменную position функции showPosition.

В настоящее время я просто показываю это как текст на веб-сайте.

Что мне не удалось сделать, так это добавить маркер на карту Folium из внутри веб-страницы с помощью JS / Leaflet (поскольку Folium - это просто оболочка для Leaflet, Думаю, у меня получится это сделать).

Кажется, что объекту карты Folium присваивается новое имя переменной каждый раз при загрузке веб-страницы, и я не знаю, как «получить» элемент карты и добавить маркер с помощью синтаксиса Leaflet.

L.marker([lat, lon]).addTo(name_of_map_variable_which_keeps_changing)

В качестве альтернативы может быть способ «отправить» постоянно изменяющиеся переменные широты и долготы с веб-страницы обратно в скрипт python, чтобы я мог просто использовать folium для добавления маркера.

Но я не смог понять это или найти нужную помощь в Интернете и был бы признателен за любую помощь.


person rwebster    schedule 08.02.2020    source источник


Ответы (1)


Хорошо, я понял основную часть вопроса - как добавить маркер местоположения пользователя на карту Folium. На самом деле это очень просто:

https://python-visualization.github.io/folium/plugins.html#folium.plugins.LocateControl

Я все еще не могу передать широту и долготу пользователя в мой скрипт Python, чтобы я мог выполнять пространственные запросы, используя это местоположение. Так что я с нетерпением жду, когда кто-нибудь сможет ответить на эту часть. Хотя, возможно, мне придется опубликовать это как отдельный вопрос ...

person rwebster    schedule 13.02.2020