更改folium地图中的标记

6
我有一个用folium绘制多个地图点的脚本。是否可以更改标记的形状和颜色?无论是通过Python代码还是html文件实现都可以。
import folium
import json


map_osm = folium.Map(location=[37.7622, -122.4356], zoom_start=13)

geojson = {
    "type": "Feature",
    "geometry": {
        "type": "MultiPoint",
        "coordinates": [[-122.42436302145, 37.8004143219856], [-122.42699532676599, 37.80087263276921]],
    },
    "properties": {"prop0": "value0"}
}

map_osm.geo_json(geo_str=json.dumps(geojson))
map_osm.create_map(path='osm.html')

enter image description here

3个回答

6
以下是我如何用点绘制图表的方法。实际上,我正在尝试组合一个示例笔记本(添加颜色、弹出窗口等), 尽管我仍在解决问题。
import folium
import pandas as pd

#create a map
this_map = folium.Map(prefer_canvas=True)

def plotDot(point):
    '''input: series that contains a numeric named latitude and a numeric named longitude
    this function creates a CircleMarker and adds it to your this_map'''
    folium.CircleMarker(location=[point.latitude, point.longitude],
                        radius=2,
                        weight=0).add_to(this_map)

#use df.apply(,axis=1) to "iterate" through every row in your dataframe
data.apply(plotDot, axis = 1)


#Set the zoom to the maximum possible
this_map.fit_bounds(this_map.get_bounds())

#Save the map to an HTML file
this_map.save('html_map_output/simple_dot_plot.html')

this_map

您还可以使用这位用户展示的多边形标记

2
你可能会发现单独创建标记比先构建GeoJSON对象更容易。这样可以轻松地为它们添加样式,就像这个例子一样:
map_1 = folium.Map(location=[45.372, -121.6972], zoom_start=12,tiles='Stamen Terrain')
map_1.simple_marker([45.3288, -121.6625], popup='Mt. Hood Meadows',marker_icon='cloud')

我刚刚为这个问题创建了一个示例,我的实际数据包含超过两千个点。 - Leb

2
您可以尝试这样做:

您可以尝试类似于以下内容:

for i in range(0,len(data)):
folium.Marker([data['lat'][i], data['long'][i]],
          #Make color/style changes here
          icon = folium.Icon(color='green'),
          ).add_to(map_1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接