0
我正在使用android studio在Google地圖上創建熱圖。我有一個數據庫包含以下信息:在Google地圖上使用langitutde,海拔高度和能量消耗實現熱圖
longitude latitude Electricity Energy Consumption
1 -77.08527 38.7347905 4.742112594
2 -19.03592 34.8081915 4.742112594
3 -74.04591 12.8815925 5.278542493
4 -32.05547 25.9549935 12.270006486
5 -49.06596 76.0283945 4.742112594
6 -63.08492 20.1017955 4.742112594
有什麼辦法把這些座標和大小和情節使用谷歌地圖的密度地圖?
我已經做了一些研究,並且google api確實允許創建heatmap,但它只允許包含coordiantes的數據集。我如何反映某些地區的能源消耗?
這是鏈接,告訴你如何創建一個熱圖網站:我只需要在正確的方向一推,能夠實現這個https://developers.google.com/maps/documentation/android-api/utility/heatmap
。
有,我想我可以使用下面的方法,但我沒有很瞭解它,希望也許有人可以解釋如何使用它,如果它可以使用這個來實現我的特殊情況:
這是從網站的代碼來實現熱圖只考慮座標:
List<LatLng> list = null;
// Get the data: latitude/longitude positions of police stations.
try {
list = readItems(R.raw.police_stations);
} catch (JSONException e) {
Toast.makeText(this, "Problem reading list of locations.", Toast.LENGTH_LONG).show();
}
// Create a heat map tile provider, passing it the latlngs of the police stations.
mProvider = new HeatmapTileProvider.Builder()
.data(list)
.build();
// Add a tile overlay to the map, using the heat map tile provider.
mOverlay = mMap.addTileOverlay(new TileOverlayOptions().tileProvider(mProvider));
}
private ArrayList<LatLng> readItems(int resource) throws JSONException {
ArrayList<LatLng> list = new ArrayList<LatLng>();
InputStream inputStream = getResources().openRawResource(resource);
String json = new Scanner(inputStream).useDelimiter("\\A").next();
JSONArray array = new JSONArray(json);
for (int i = 0; i < array.length(); i++) {
JSONObject object = array.getJSONObject(i);
double lat = object.getDouble("lat");
double lng = object.getDouble("lng");
list.add(new LatLng(lat, lng));
}
return list;
}
這是從網站的代碼更改數據集:
ArrayList<WeightedLatLng> data = new ArrayList<WeightedLatLng>();
mProvider.setData(data);
mOverlay.clearTileCache();