我正在尝试动态设置使用包含三列的数据集绘制的圆的半径:纬度/经度/会话数。数据导入正常,所有位置都以#of sessions作为标签正确绘制。
以下是该方案:
半径应该基于会话数,因此5个会话的纬度/经度对是1px,纬度/长对,5,000个会话是10px等。
有没有办法在数据集中动态设置?我可以通过添加数据集的多个实例并过滤到1-10,11-100等来自己创建图层“波段”,但设置“最小”半径和“最大”半径并且有很好的它根据可用数据自动缩放。
有没有办法在Mapbox中执行此操作?
答案 0 :(得分:2)
假设我理解这一点 - 基本上你有一些基于会话的数据类型#你想在那个lat上画一个更大或更小的圆圈,长配对。
您可以做的最初是导入数据,然后进行会话#并在物理上创建一个要在地图上渲染的集合(某种类型的数组或其他东西)。您可以使用地图框标记来渲染这些图标或圆形,并为它们物理分配大小。
在此之前,您必须预先确定一个函数来获取会话数并将它们映射到物理半径值 - 例如1000个会话=半径10和50,000个会话=半径500.
例如,在我创建的ios应用中,这是我的代码,使用 - https://github.com/mapbox/react-native-mapbox-gl
markersArray = markersArray.concat({
coordinates:[bList[i].latitude, bList[i].longitude],
'type': 'point',
title: bList[i].bname,
subtitle: bList[i].data,
id: bList[i].o_ID.toString(),
startTime: bList[i].startTime,
endTime: bList[i].endTime,
annotationImage: {
url: (bList[i].type === 'drink') ? (drinkUrl) : (foodUrl),
height: 30,
width: 30
},
rightCalloutAccessory: {
url: 'image!info-icon',
height: 20,
width: 20
}
});