Я хотел бы отображать текст в виде аннотаций значков на картах, созданных с помощью Folium и плагина TimestampedGeo JSON. То есть для перемещения точек, таких как в коде ниже, я бы хотел, чтобы всегда отображало текстовую метку рядом с кружком (не только при наведении курсора). Также было бы приемлемо просто отображать текст с изменяющимися координатами, например, используя DivIcons.
К сожалению, в настоящее время это кажется невозможным. Если мое понимание исходного кода Folium на https://github.com/python-visualization/folium/blob/master/folium/plugins/timestamped_geo_json.py правильное, единственными типами значков, которые реализованы для TimestampedGeoJSONs, являются «маркер» и «круг».
Может ли Folium каким-либо образом отображать текст в метках времени GeoJSON?
Вот пример кода, который я извлек из https://nbviewer.jupyter.org/github/python-visualization/folium/blob/master/examples/Plugins.ipynb:
import folium
from folium.plugins import TimestampedGeoJson
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
points = [
{'time': '2017-06-02', 'coordinates': [-2.548828, 51.467697]},
{'time': '2017-07-02', 'coordinates': [-0.087891, 51.536086]},
{'time': '2017-08-02', 'coordinates': [-6.240234, 53.383328]},
{'time': '2017-09-02', 'coordinates': [-1.40625, 60.261617]},
{'time': '2017-10-02', 'coordinates': [-1.516113, 53.800651]}
]
features = [
{'type': 'Feature',
'geometry': {
'type': 'Point', 'coordinates': point['coordinates']},
'properties': {
'time': point['time'], 'icon': 'circle', 'iconstyle': {'radius': 5}}
} for point in points]
m = folium.Map(location=[56.096555, -3.64746], zoom_start=5)
TimestampedGeoJson(
{'type': 'FeatureCollection', 'features': features},
period='P1M', auto_play=False, loop=False, duration='P0M').add_to(m)
return m._repr_html_()
if __name__ == '__main__':
app.run(debug=False)