AT&T iPhone will work there, but you do have to enable international coverage first.
If you don't plan to get a sim card when you get there, you will want to sign up for one of AT&T's data plans *before* you leave the US. I usually do this at the airport using the AT&T app. Cancel as soon as you return and some of the plans will be prorated (they change the rules sometimes).
Do not even turn your phone on with data enabled if you don't get a plan. Sure enough, someone will have texted you a video or something, and without a plan, AT&T data roaming is $20 per MB!
If you are planning on getting a SIM, you need to get your phone unlocked first or it won't work. AT&T will allow you to do this if you have completed the terms of the service agreement (you've had it longer than the two-year contract) or otherwise own it outright. It isn't a simple process.
If you do get a sim, keep in mind that you won't have your normal phone number during that time.
Someone has told me that the latest version of google maps allows you to cache maps for use offline, but I haven't verified it. Of course the outdoor oriented gps apps allow you to do that.