[英]Android - Google Maps API Heatmap with fixed radius in meters
適用於Android Google Maps API的Heatmap疊加層以像素為單位渲染半徑,這意味着通過放大和縮小半徑會越來越大。
我需要一個固定半徑的熱圖(例如,以米為單位而不是像素),並且在放大和縮小時都不會重新縮放。
有可能這樣做嗎?
我認為您可以使用setRadius()方法來更改熱圖位置的半徑,以響應更改的縮放比例。 像這樣:
int DEFAULT_ZOOM_LEVEL = 10;
int ZOOM_STEP_FOR_RADIUS = 2;
mProvider = new HeatmapTileProvider.Builder()
.data(mList)
.setRadius(DEFAULT_ZOOM_LEVEL)
.build();
mOverlay = mMap.addTileOverlay(new TileOverlayOptions().tileProvider(mProvider));
mMap.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener({
@Override
void onCameraIdle() {
float newZoom = mMap.getCameraPosition().zoom;
mProvider.setRadius(DEFAULT_ZOOM_LEVEL + newZoom * ZOOM_STEP_FOR_RADIUS)
mOverlay.clearTileCache();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.