I'm not a dog trainer but I work very closely with dog handlers and their trainers, I've had dogs all my life, and i've had a similar experience to you.
My labrador was attacked by a pair of german Shepherds last year, and unfortunately she is still nervous in the area in which it happened. She's so jumpy to the point she can't go to the toilet (so to speak).
I've found that almost anywhere else she is fine, but she is still very wary of Shepherds (she's normally a typical fussy lab' who'll slobber around anyone). It does take a lot of time and she may need re-socialising at a place where you know the other dogs and owners.
Best advice is take everything in steps and very slowly. One thing I've always found is that they sense you being protective, especially when they're on the lead. The lead is a strange bond that often brings out quite anti-social behaviour because the dog also feels protective towards you, and can get snappy at anything that approaches. Something to try which has worked for me in the past is finding a big field where i can see anyone else with a dog approaching, meet up with a friend or friends with other dogs that you know are friendly and sociable, and let them all off the lead for a run around. Obviously one on one is best to start because they soon develop a pack mentality. Have a think how you could adapt it with yours?