Kotlin:无法重新分配 LatLng 的 latitude/longitude

Kotlin: Cannot reassign LatLng's latitude/longitude

假设我有 2 LatLng 个变量。

lateinit var mLatLng1:LatLng
lateinit var mLatLng2:LatLng

假设它们都已初始化为某些值。

如果我尝试这样做:

mLatLng1 = mLatLng2

它按预期工作。但是,当我尝试这样做时:

mLatLng1.latitude = mLatLng2.latitude

我得到一个错误:

Val cannot be reassigned

如果我的 mLatLng1 变量是 var 类型,那么为什么会出现此错误?

If my mLatLng1 variable is of type var, then why am I getting this error?

因为你没有给mLatLng1赋值。那将是:

mLatLng1 = LatLng(45.0, 123.0)

相反,您这样做:

mLatLng1.latitude = mLatLng2.latitude

这正在尝试更新 mLatLng1 中的字段。而且,如果您的对象是 this LatLng,那么这些字段是 final,在 Kotlin 中映射到 val.