我对mapboxgl还是陌生的,他试图创建一个允许用户随时间过滤点的地图。我使用数据定制了本教程,以启动并运行初始地图:
https://docs.mapbox.com/help/tutorials/show-changes-over-time/
一切工作都非常好,直到我加载数据并意识到许多点共享相同的坐标。
一些谷歌搜索发现了这个答案:
Multiple markers - Same coordinates
使用偏移或旋转的想法都是合理的解决方案。不幸的是,我不清楚如何在加载数据时将其应用于数据。我相信脚本的相关部分是:
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中轻松解决的标记。
谢谢!
答案 0 :(得分:2)
此处的代码是在地图中创建circle
类型的图层。您可以使用circle-translate
属性来偏移位置。
如果要使用CSS变换来偏移标记,则应将其创建为地图外部HTML中存在的Marker对象。