Как добавить маркер мобильного геолокации в веб-карту Folium, которая автоматически обновляет положение? - PullRequest
0 голосов
/ 08 февраля 2020

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

Я знаю, как добавлять маркеры на карту из 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)

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

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

1 Ответ

0 голосов
/ 13 февраля 2020

ОК, я разобрался с основной частью вопроса - как добавить маркер местоположения пользователя на карту Фолиума. На самом деле все очень просто:

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

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

...