Вы используете оператор ненулевого подтверждения , который будет выбрасывать NPL, если любое из значений равно нулю, поэтому ваш currentLocation
равен нулю, что вызывает исключение.
val position = if (currentLocation != null) LatLng(currentLocation!!.latitude, currentLocation!!.longitude) else LatLng(currentLocation!!.latitude, currentLocation!!.longitude)
здесь, если currentLocation
равно нулю, вы все равно используете его внутри else
случая, который явно является root причиной исключения (выбрасывается !!
)
Либо используйте фиктивное значение (желательно исправить проблему с currentLocation), либо вы можете использовать безопасный вызов с let
как .?let
currentLocation?.let{ // run if currentLocation is not null
val position = LatLng(it.latitude, it.longitude)
//... code
}