Можно ли изменить цвета по умолчанию, используемые на карте кластера фолиевого маркера? - PullRequest
0 голосов
/ 12 апреля 2019

Я использую фолиум для создания некоторых карт, и одна из функций, которые я включаю, - это наложение markercluster, так как я часто рисую тысячи точек на карте.Кластеризация группирует точки GPS разных величин вместе и накладывает на верхнюю часть значка карты число, которое показывает, сколько точек было сгруппировано в этот кластер.По умолчанию, меньшее количество точек, сгруппированных в кластер, приведет к зеленому цвету для значка карты, и чем больше точек, сгруппированных вместе, будет больше к красному спектру.В идеале я хотел бы изменить это так, чтобы, когда в одном месте было много консолидированных точек, значок был зеленым.Принимая во внимание, что когда есть только несколько консолидированных точек, цвет будет красным.Я думаю, что это нужно где-то отредактировать в модуле branca, но я не уверен и вообще довольно незнаком с тем, как работает branca.Любая помощь приветствуется.

Вот пример того, как обычно создаются кластеры маркеров:

import folium
from folium.plugins import MarkerCluster
#Create the map image and establish the center point
mapImage = folium.Map(location=[40.165505, -99.788130], 
zoom_start=12, 
tiles='OpenStreetMap')

#Create the marker cluster group, which organizes all the gps points put into it
marker_cluster_group = MarkerCluster(name='Cluster Icons')
#This is just a reference to a default google mapping icon, purely optional
pointIcon_url = "http://maps.google.com/mapfiles/kml/shapes/shaded_dot.png"
#Create the icon object    
icon = folium.features.CustomIcon(pointIcon_url, icon_size=(15, 15))
#Create the marker/gps point and add it to the cluster group
folium.Marker([40.058377, -99.939192], icon=icon).add_to(marker_cluster_group)
#Adding the cluster group to the map image
marker_cluster_group.add_to(mapImage)

1 Ответ

0 голосов
/ 19 апреля 2019

Вы можете предоставить классу MarkerCluster аргумент icon_create_function, который будет стилизовать значки кластера:

https://github.com/python-visualization/folium/blob/8595240517135d1637ca4cf7cc624045f1d911b3/folium/plugins/marker_cluster.py#L31

Здесь вы можете увидеть пример того, как эта функция должнавыглядит так:

https://github.com/Leaflet/Leaflet.markercluster#customising-the-clustered-markers

Так что это функция Javascript, которую вы предоставляете фолиуму в виде строки.

...