You both need to just calm down a little bit. Then you can deal with each other.
The next time you are at the playground, or another "fun" place where you know you are likely to meet with resistance when it's time to go, start giving him a countdown when it's getting close to leaving time. Tell him "Okay, we need to go home in ten minutes!" Then tell him again at periodic intervals, letting him know that it time to start wrapping things up. When it's time to go, just say "Time's Up!" If he resists, get down to his eye level and nicely but firmly tell him that you told him it was getting close to the time to go home, and reassure him that you will come back another day. If he still gives you trouble, tell him he has two choices: to behave himeslf, listen, and be able to play with his toys when he gets home, or he can choose not to listen, to have a tanturm, and go straight to time out when he gets home. Tell him if he wants to come back to the playground another day, he will listen and walk home with you without giving you any trouble.
Try to look at it from his perspective for a moment--he was having fun, and all of a sudden, he had to stop having fun and go home. Of course he isn't going to be happy about it, and at three years old, he can't always verbalize his emotions to you, so tantrums are what he is likely to resort to. By giving him a countdown, you are preparing him for the moment you leave so that it isn't sudden, and he has time to go down the slide "one more time" or play on the swings for a few more moments.
If you can keep the power struggles to a minimum, you will also minimize the number of tantrums.