Android kotlin缺少Google地图的方法

Android kotlin缺少Google地图的方法,android,google-maps,android-studio,kotlin,Android,Google Maps,Android Studio,Kotlin,我正在将一个应用程序的一部分转换为kotlin,我遇到了一个问题,原因是Android Studio 3.5.3的intellisense没有显示googleMaps的所有方法 这是一个例子: override fun onMapReady(googleMap: GoogleMap) { map = googleMap map.setBuildingsEnabled(true) map.setTrafficEnabled(true) map.setOnMapLo

我正在将一个应用程序的一部分转换为kotlin,我遇到了一个问题,原因是Android Studio 3.5.3的intellisense没有显示googleMaps的所有方法

这是一个例子:

override fun onMapReady(googleMap: GoogleMap) {
    map = googleMap
    map.setBuildingsEnabled(true)
    map.setTrafficEnabled(true)

    map.setOnMapLoadedCallback(OnMapLoadedCallback {
        if (currentMission != null) {
            drawMission()
        } else {
            drawNoMission()
        }
    })
}
例如,我无法在intellisense中看到map.setBuildingsEnabled,请参见图像

但是如果我强制调用这个隐藏方法,应用程序仍然会生成,所以这是由kotlin或intellisense引起的 这可能与我得到的关于属性访问的灰色建议有关,但这不是一个属性,因为在谷歌地图上没有启用getBuildingsEnabled


有人知道如何解决这个恼人的问题吗?我不希望kotlin隐藏可能对我有用的方法,谢谢。

遵循Java约定的getter和setter方法名称以“get”开头的无参数方法和名称以“set”开头的单参数方法在kotlin中表示为属性

换句话说,如果您有一个Java方法setTrafficeEnabledTrue,Kotlin将为您提供一个属性访问语法isTrafficEnabled=true。这是Kotlin的优势之一


如果您忽略Kotlin属性访问语法并使用getter和setter,它的工作原理将是一样的。

mmm GoogleMap类中已经没有isTrafficEnabled,并且它是一个get only,因此无法工作。我需要设置该值,而不是获取它,我希望它有一个trafficEnabled属性,但它不在那里,因为googlemaps java类没有定义getTrafficEnabledmethod@FabioAngela这很奇怪,我在我的项目中使用了GoogleMap类,我刚刚检查了“isTrafficEnabled=true”是否有效。你应该能够设置它,因为GoogleMap类有方法public final void'SetTrafficeEnabledBoolean var1'我确认,它工作了,问题是我在它执行get时确实去了定义,被接受的答案仍然让我困惑的是setIndoorEnabled在intellisense中是可见的,在我看来,它的实现方式与TrafficeEnabledAHH检查反编译类的方式相同。我看到setIndoorEnabled返回布尔值,而其他人不返回布尔值,这就是kotlink行为不同的原因