2016-12-22 27 views
0

我試圖動態設置用三列數據集繪製的圓的半徑:緯度/經度/會話數量。數據導入正常,所有位置都以正確的會話數作爲標籤。基於字符串範圍的圓的縮放半徑 - Mapbox

這裏的情形:

半徑應基於會話的數量,所以緯度/經度與5次對是1px的,緯度/經度對與5000級的會話是10px的等

有沒有辦法讓這個動態設置在數據集中?我可以通過添加多個數據集實例並過濾到1-10,11-100等來自己創建圖層「條帶」,但設置「最小」半徑和「最大」半徑並且具有它會根據可用數據自動縮放。

有沒有辦法在Mapbox中做到這一點?

回答

2

假設我理解這個權利 - 基本上你有一些基於會話#的數據類型,你希望在該經緯度上畫一個更大或更小的圓圈,長對。

你可以做的是最初導入數據,然後獲取會話數量並物理創建一個在地圖上呈現的集合(某種類型的數組或某物)。您可以使用地圖框標記來渲染這些圖標或圈出並物理分配它們的大小。

在此之前,你必須預先確定的函數取會話#,並將它們映射到物理半徑值 - 說1000個會話= 10個和50,000個會話半徑= 500。

半徑

例如在我創建這是我的代碼,使用 - 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 
         } 
        });