I have found the PERFECT solution for this.
My son is the exact same as yours. He's almost three and outgrew his pack n play (he's REALLY TALL) at 1 1/2. We travel ALL the time and I was having alot of issues with this... So I did some research and found this portable bed called the Kid Co PeaPod plus. They have one for little babies and one for kids up to 5 years old (that's the plus).
It's the BEST. We take it EVERWHERE. It's super light weight, folds up into the size of a shoulder bag, comes complete with a comfy blow up mattress and a sleeping bag (although I usually take the sleeping bag out and put in his crib sheet, blanket and stuffed animals instead). If you have a kid that tries get out (like mine does during nap time) all you have to do is safety pin the zippers together on the outside and it's a little tent that they can't get out of.
I cannot say enough wonderful things about this peapod. It probably sounds like I work for them--- but I was just so excited to find something that worked for us.
We went camping last week and brought the air mattress and the sleeping bag without the tent... he LOVED it. We are going on a road trip next week and bringing the whole bed--- he will sleep in it for every night and nap in our room with us.
GOOD LUCK!
ps. if your child is sensitive to light pick one of the darker colors so it automatically makes it darker in the peapod. Also, when putting him in it make sure it's in a cool place because if you zip up all the sides it can get pretty warm in there. We usually leave at least one side up if it's dark enough in the room.