2015-09-23 58 views
1

我正在使用android API for heatmap。我已經導入了依賴關係,並在我的活動結束時添加了熱圖代碼。WeightedLatLng和Collection <WeightedLatLng>

List<String> temp = Arrays.asList(coordinates.get(i).split(";")); 
LatLng coor = new LatLng(Double.parseDouble(temp.get(1)), Double.parseDouble(temp.get(2))); 

// Create a heat map tile provider, passing it the latlngs 

WeightedLatLng data = new WeightedLatLng(coor, Double.parseDouble(temp.get(0))); 
mProvider = new HeatmapTileProvider.Builder() 
       //.weightedData(data) //doesn't work 
       .data(coor) //doesn't work either 
       .build(); 
    } 

我得到以下錯誤在weightedData行:

WeightedData(java.util.Collection<com.google.maps.android.heatmaps.WeightedLatLng>) in Builder cannot be applies (com.google.maps.android.heatmaps.WeightedLatLng) 

我嘗試添加一個演員,但使應用程序崩潰。我一直在Google上搜索很長時間並嘗試各種各樣的東西。有任何想法嗎?

回答

3

生成器weightedData和數據的方法採取的參數集合:

weightedData(Collection<WeightedLatLng> val) 

嘗試所有數據添加到一個ArrayList,然後把它傳遞給你的建設者。

WeightedLatLng data = new WeightedLatLng(coor, Double.parseDouble(temp.get(0))); 
ArrayList<WeightedLatLng> weightedLatLngs = new ArrayList<>(); 
weightedLatLngs.add(data); 

mProvider = new HeatmapTileProvider.Builder().weightedData(weightedLatLngs).build(); 

理想的情況下你的熱圖應該通過你的座標包含許多加權latlngs,所以環和他們都加入到ArrayList中。

0

嗨,我想你應該這樣寫代碼

List<String> temp = Arrays.asList(coordinates.get(i).split(";")); 
    LatLng coor = new LatLng(Double.parseDouble(temp.get(1)), Double.parseDouble(temp.get(2))); 

     // Create a heat map tile provider, passing it the latlngs 

     WeightedLatLng data = new WeightedLatLng(coor, Double.parseDouble(temp.get(0))); 
     mProvider = new HeatmapTileProvider.Builder(); 
     mProvider.weightedData(data); 
     mProvider.data(coor); 
     mProvider = mProvider.build(); 
相關問題