If its good on the highway and not in traffic your fans are not doing their job of moving air across the radiator for some reason. Make sure the shroud portion of the fan is not broken and it is firmly attached to the radiator. If you let it idle does the temp go up, if you if you rev it a little does it go back down.
When it is heating up try turning on the heat to see if the temp goes back down.
You could have a partially plugged radiator. The air that moves through it on the highway is much greater than even well functioning fans could supply
Artificial Intelligence is no match for Natural Stupidity