You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Folium绘制墨尔本CBD1km范围圆缩放比例异常问题求助

解决Folium中圆形区域随地图缩放自适应的问题

嗨,我来帮你搞定这个问题~你遇到的核心问题是用错了组件:你当前用的folium.CircleMarker的radius参数是像素单位,不管地图缩放级别怎么变,它的像素大小是固定的,所以看起来不会跟着实际地理距离同步变化。完全不需要用到geo.json,换个组件就能解决!

解决方案:改用folium.Circle

folium.Circle的radius参数是实际米数,它会随着地图缩放自动调整显示的大小,刚好能满足你绘制墨尔本CBD周边1公里(也就是1000米)范围的需求。

修改后的代码如下:

map_distance_vs_price = folium.Map(location=[-37.81, 144.96], tiles="Stamen Terrain", zoom_start=12)
# 用folium.Circle替代CircleMarker,radius设为1000米(1公里)
folium.Circle(
    location=[-37.81, 144.96],
    radius=1000,
    popup='Price:',
    color='#3186cc',
    fill_color='#3186cc'
).add_to(map_distance_vs_price)

两者的核心区别

  • folium.CircleMarker:半径是固定像素值,适合用来标记特定点位,不会随地图缩放改变大小
  • folium.Circle:半径是实际地理距离(米),会根据地图缩放比例自动调整显示尺寸,适合绘制实际范围的区域

这样修改后,你缩放地图时,这个圆形区域就会始终对应墨尔本CBD周边1公里的实际范围啦~

内容的提问来源于stack exchange,提问作者Nathan Zhuang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:08:44