If statement or variable scope problem

Hey guys so I am trying to calculate my top speed using the tinygps library. So I am using an if statement to see if the current speed is greater than the variable maxSpeed but maxSpeed never seems to change from zero even though my current speed is greater than it. So I think I might have a variable scope issue or an if statement issue. Thanks for the help.

float flat, flon, aMin = 0, maxSpeed = 0;
static void gpsdump(TinyGPS &gps)
{
  unsigned long age, date, time, chars = 0;
  unsigned short sentences = 0, failed = 0;
  static const float SYRACUSE_LAT = 40.72832, SYRACUSE_LON = -73.776659;
  
  if (float(gps.f_altitude()) > float(aMin) || aMin == TinyGPS::GPS_INVALID_F_ALTITUDE)
    aMin = gps.f_altitude();
  if(aMin == TinyGPS::GPS_INVALID_F_ALTITUDE) 
  {
    TFTscreen.background(0,0,0);
    TFTscreen.setCursor(0,0);
    TFTscreen.print("Waiting for GPS...");
  }
  else 
  {
    if (gps.f_speed_kmph() > maxSpeed || maxSpeed == TinyGPS::GPS_INVALID_F_SPEED)//|| float(maxS) == -1.00)
    {
      maxSpeed == gps.f_speed_kmph();
    }
     TFTscreen.background(0,0,0);
    TFTscreen.setCursor(0,0);
    TFTscreen.print("Speed:");
    TFTscreen.println(gps.f_speed_kmph());
    TFTscreen.print("Max Speed:");
    TFTscreen.println(maxSpeed);

    TFTscreen.print("Distance:");
    TFTscreen.println(calc_dist(flat,flon, SYRACUSE_LAT, SYRACUSE_LON)/1000);
    TFTscreen.print("Satelites: ");
    TFTscreen.println(gps.satellites());
  }
  
}
maxSpeed == gps.f_speed_kmph();

Should be

maxSpeed = gps.f_speed_kmph();