如何在地图框图层中显示堆叠位置?
How to display stacked locations in a mapbox layer?
我是 mapboxgl 的新手,正在尝试创建一个允许用户随时间过滤点的地图。我用我的数据定制了这个教程来得到初始地图 运行:
https://docs.mapbox.com/help/tutorials/show-changes-over-time/
在我加载数据并意识到许多点共享相同坐标之前,一切都运行良好。
一些谷歌搜索揭示了这个答案:
使用偏移量或爬网的想法都是合理的解决方案。不幸的是,我不清楚如何在加载数据时将它们应用于数据。我相信脚本的相关部分是:
map.on('load', function() {
map.addLayer({
id: 'year',
type: 'circle',
source: {
type: 'geojson',
data: './grandpascan.geojson' // replace this with the url of your own geojson
},
paint: {
'circle-radius': [
'interpolate',
['linear'],
['number', ['get', 'Pages']],
0, 4,
5, 24
],
'circle-color': [
'interpolate',
['linear'],
['number', ['get', 'Pages']],
0, '#2DC4B2',
1, '#3BB3C3',
2, '#669EC4',
3, '#8B88B6',
4, '#A2719B',
5, '#AA5E79'
],
'circle-opacity': 0.8
},
如果那是正确的,我如何确定样式的那些点?它们似乎不是可以在 CSS 中轻松解决的标记,尽管我可能完全误解了这一切是如何组合在一起的。
谢谢!
此处的代码是在地图中创建图层,类型为 circle
。您可以使用 circle-translate
属性.
偏移位置
如果您想使用 CSS 转换来偏移标记,您应该将它们创建为存在于 HTML 中的 Marker 对象,在地图之外。
我是 mapboxgl 的新手,正在尝试创建一个允许用户随时间过滤点的地图。我用我的数据定制了这个教程来得到初始地图 运行:
https://docs.mapbox.com/help/tutorials/show-changes-over-time/
在我加载数据并意识到许多点共享相同坐标之前,一切都运行良好。
一些谷歌搜索揭示了这个答案:
使用偏移量或爬网的想法都是合理的解决方案。不幸的是,我不清楚如何在加载数据时将它们应用于数据。我相信脚本的相关部分是:
map.on('load', function() {
map.addLayer({
id: 'year',
type: 'circle',
source: {
type: 'geojson',
data: './grandpascan.geojson' // replace this with the url of your own geojson
},
paint: {
'circle-radius': [
'interpolate',
['linear'],
['number', ['get', 'Pages']],
0, 4,
5, 24
],
'circle-color': [
'interpolate',
['linear'],
['number', ['get', 'Pages']],
0, '#2DC4B2',
1, '#3BB3C3',
2, '#669EC4',
3, '#8B88B6',
4, '#A2719B',
5, '#AA5E79'
],
'circle-opacity': 0.8
},
如果那是正确的,我如何确定样式的那些点?它们似乎不是可以在 CSS 中轻松解决的标记,尽管我可能完全误解了这一切是如何组合在一起的。
谢谢!
此处的代码是在地图中创建图层,类型为 circle
。您可以使用 circle-translate
属性.
如果您想使用 CSS 转换来偏移标记,您应该将它们创建为存在于 HTML 中的 Marker 对象,在地图之外。