JavaScript
x
8
1
from folium.plugins import MarkerCluster
2
import folium
3
from folium.features import CustomIcon
4
import pandas as pd
5
import folium.plugins as plug
6
7
df = pd.read_excel('store.xlsx')
8
JavaScript
1
4
1
df1 = df[['대리점명','Latitude','Longitude']]
2
df1.rename(columns= {'대리점명':'Store'}, inplace=True)
3
df1.head()
4
JavaScript
1
14
14
1
x = []
2
y = []
3
name = []
4
for i in range(len(df1['Latitude'])):
5
if df['Latitude'][i] == 0.0 or df['Longitude'][i] == 0.0:
6
pass
7
else:
8
name.append(df1['Store'][i])
9
x.append(df1['Latitude'][i])
10
y.append(df1['Longitude'][i])
11
print('store_sum: ',len(name))
12
print('x_sum: ',len(x))
13
print('y_sum: ',len(y))
14
JavaScript
1
22
22
1
import folium
2
import folium.plugins as plug
3
import json
4
5
map_store = folium.Map(location=[37.58, 127.0],zoom_start=11.5)
6
7
marker_cluster = plug.MarkerCluster().add_to(map_store)
8
9
file_name= r'seoul_municipalities_geo.json'
10
file_name = file_name.replace('\','/')
11
with open(file_name, 'rt') as f:
12
geo = json.load(f)
13
f.close()
14
folium.GeoJson(geo, name='Store').add_to(map_store)
15
16
for i in range(len(x)):
17
18
folium.Marker([x[i],y[i]], popup= name[i], icon=folium.Icon(color='purple', icon='ok-circle')).add_to(marker_cluster)
19
20
21
map_store
22
JavaScript
1
26
26
1
sub_df = df
2
3
latitude = 37.58
4
longitude = 127.0
5
6
mm = folium.Map(
7
location=[latitude, longitude],
8
zoom_start=11.5
9
)
10
11
coords = sub_df[['Latitude', 'Longitude']]
12
13
marker_cluster = MarkerCluster().add_to(mm)
14
15
for lat, long in zip(coords['Latitude'], coords['Longitude']):
16
icon_path = r"hci.png"
17
icon = CustomIcon(
18
icon_image=icon_path,
19
icon_size=(180, 80),
20
icon_anchor=(50, 50),
21
)
22
marker = folium.Marker(location=[lat, long], icon=icon, popup="대리점명")
23
mm.add_child(marker)
24
25
mm
26
I tried many time But really I cant
And you can’t understand my mean about bad English or can’t understand my question
please look under url
https://towardsdatascience.com/visualizing-tesla-superchargers-in-france-8c10894ab3c
This is perfect example I want to mimic like this
Anyway in first image, change purple checkbox Marker to company CI(CI image is in second picuture)
Advertisement
Answer
The point is that each marker must be set to belong to a marker cluster. Latitude and longitude and store name are created randomly. Also, the logo is a stack overflow logo.
JavaScript
1
32
32
1
import numpy as np
2
import pandas as pd
3
import folium
4
from folium.plugins import MarkerCluster
5
from folium.features import CustomIcon
6
7
df = pd.DataFrame({'Store':name_list,
8
'Latitude': [random.uniform(36.0, 38.0) for _ in range(100)],
9
'Longitude': [random.uniform(126.0, 128.0) for _ in range(100)]})
10
11
df.head()
12
Store Latitude Longitude
13
0 ocUReOT56a 36.164013 127.045411
14
1 KbAQtbB5eG 36.534577 127.515191
15
2 PdiCOLvjC4 36.715178 126.333321
16
3 eM33oRtVii 37.889212 126.589194
17
4 nporJ7t4mY 36.604549 127.563762
18
19
latitude = 37.58
20
longitude = 127.0
21
22
mm = folium.Map(location=[latitude, longitude], zoom_start=10)
23
24
marker_cluster = MarkerCluster().add_to(mm)
25
26
for row in df.itertuples():
27
icon_path = r"./data/240px-Stack_Overflow_icon.svg.png"
28
icon = CustomIcon(icon_image=icon_path, icon_size=(50, 50))
29
folium.Marker(location=[row.Latitude, row.Longitude], icon=icon, popup=row.Store).add_to(marker_cluster)
30
31
mm
32