我正在尝试使用google api创建热图,但遇到了一个小问题。
以下是示例代码:
mProvider = new HeatmapTileProvider.Builder()
.weightedData((Collection<WeightedLatLng>) weightedList)
.gradient(gradient);
mOverlay = mMap.addTileOverlay(new TileOverlayOptions().tileProvider((TileProvider) mProvider));// this is the line of code that produces the error
}
特别是,该行中的参数“mProvider”会突出显示。
错误日志是:
java.lang.ClassCastException: com.google.maps.android.heatmaps.HeatmapTileProvider$Builder cannot be cast to com.google.android.gms.maps.model.TileProvider
我一直坚持这个问题一段时间,并且非常感谢有关如何解决这个问题的一些指导。
提前致谢!
答案 0 :(得分:0)
您忘了拨打.build()
方法
这就像你想要制造一辆汽车,并且像Car car = new CarFactory().type(SEDAN).color(BLACK);
那样忘记告诉carFactory
制造汽车。这导致您尝试将carFactory
分配给Car
变量
您的代码应如下所示:
mProvider = new HeatmapTileProvider.Builder()
.weightedData((Collection<WeightedLatLng>) weightedList)
.gradient(gradient)
.build(); //missing this line