I have stayed at the Marriott Marina several times and it is right on the harbor and within easy walking of the Horton Plaza mall, Gaslamp District, and Seaport Village. Nice place with a fantastic pool.
If you want to be located next to a beach where you could swim in the ocean, you will need to look for places in Pacific Beach, Mission Bay, or La Jolla.