Невозможно инициализировать объект GoogleMap в Kotlin - PullRequest
0 голосов
/ 31 октября 2018

При попытке создать переменную-член mMap выдает ошибку «У классификатора GoogleMap нет сопутствующего объекта, и, следовательно, его необходимо инициализировать здесь». В Java я бы просто использовал «Private GoogleMap mMap».

Помощь приветствуется!

private val TAG = "MapActivity"

private val FINE_LOCATION = Manifest.permission.ACCESS_FINE_LOCATION
private val COURSE_LOCATION = Manifest.permission.ACCESS_COARSE_LOCATION
private val LOCATION_PERMISSION_REQUEST_CODE = 1234;

private var mLocationPermissionGranted : Boolean = false
private var mMap = GoogleMap

1 Ответ

0 голосов
/ 31 октября 2018

инициализировать GoogleMap следующим образом

 private lateinit var mMap: GoogleMap? = null

Реализуйте интерфейс OnMapReadyCallback и используйте метод обратного вызова onMapReady (GoogleMap), чтобы получить дескриптор объекта GoogleMap. Объект GoogleMap является внутренним представлением самой карты. Чтобы установить параметры просмотра карты, вы изменяете ее объект GoogleMap.

class MainActivity : OnMapReadyCallback {

  // your other code

override fun onMapReady(googleMap: GoogleMap) {
mMap = googleMap  

if (mMap != null) {
    val permission = ContextCompat.checkSelfPermission(this,
            Manifest.permission.ACCESS_FINE_LOCATION)

    if (permission == PackageManager.PERMISSION_GRANTED) {
        mMap?.isMyLocationEnabled = true
    } else {
        requestPermission(
                Manifest.permission.ACCESS_FINE_LOCATION,
                LOCATION_REQUEST_CODE)
     }
 }
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...