Double Marker Folium
Quiero tener marcadores personalizados en el mapa y ventanas emergentes únicas para cada punto marcado.
El código a continuación me da lo que quiero, excepto por el hecho de que hay dos marcadores para cada punto, el mío personalizado y el predeterminado. ¿Cómo puedo dejar solo el mío? ¿Por qué hay dos marcadores?
fg_other_atms = folium.FeatureGroup(name="Otros ATMs", show=False)
geometry = gpd.points_from_xy(atm_other.longitude, atm_other.latitude)
geo_df = gpd.GeoDataFrame(atm_other[['latitude', 'longitude', 'city_id',
'region_id', 'trans_cnt','trans_amt']],
geometry=geometry)
geo_df = geo_df.set_crs(epsg=4326, inplace=True)
gjson = folium.GeoJson(geo_df)
for feature in gjson.data['features']:
folium.Marker(location=list(reversed(feature['geometry']['coordinates'])),
icon=folium.features.CustomIcon('Icons/red.png', icon_size=(26, 35))
).add_to(fg_other_atms)
if feature['geometry']['type'] == 'Point':
b = folium.GeoJson(feature['geometry'])
popup = '<b>Número de operaciones:</b> ' + str(feature['properties']['trans_cnt'])+ ' ' + '<br><b>Monto retirado:</b> ' + str(feature['properties']['trans_amt'])
b.add_child(folium.Popup(popup))
fg_other_atms.add_child(b)
m.add_child(fg_other_atms)
davy.ai
La razón por la cual existen dos marcadores para cada punto es porque el código está agregando tanto un marcador personalizado como un marcador predeterminado al mapa. Para eliminar el marcador predeterminado, simplemente elimine la línea de código que crea el folium.GeoJson.
Primero, elimine esta línea:
Luego, modifique la siguiente línea para que se vea así:
Esto creará un marcador personalizado y una ventana emergente única para cada punto, sin agregar el marcador predeterminado.