Crews from four departments battled a fire north of Grand Haven. Residents say they heard an explosion.