首页 / OpenLayers / 使用示例
`r`n 人口聚集地标注
点密度一高标注就会互相压盖,先按重要度分级,再交给 declutter 处理重叠。
`r`n
源码与运行效果
说明
每个城市一个 ol.Feature,样式函数里用 Math.sqrt(pop) 算半径,人口过千万的再加粗字体。图层开启 declutter 后,重叠的标注会被自动隐藏,而不是叠在一起。ol.geom.Point 的坐标都经过 ol.proj.fromLonLat,与 OSM 底图对齐。官方示例读 Natural Earth 的人口点 GeoJSON,本页用页面内构造的城市列表。
| 操作 | 结果 |
|---|---|
| 拖动人口下限滑块 | 低于阈值的城市从图层移除,计数同步更新 |
| 放大到城市密集区 | declutter 生效,部分标注自动让位 |
| 缩小到全国视野 | 标注重新排布,重要城市优先显示 |
要点
- 半径取平方根是为了让圆的面积与人口成正比。
declutter只影响显示,要素本身仍在源里。
标注文字加白色描边后,在深浅底图上都能保持可读。