In downtown San Diego, there are very few public toilets. And the ones that exist are so dirty that there's no way you'd want to use them. A few years ago, I made the mistake of going to the public library, which had a restroom on the third floor. When I opened the door to the stairwell, a distinct odor hit me right away. As I climbed upward, it grew in intensity, and by the top of the staircase, it was unbearable. I (vividly) remember the poor librarian sitting behind the counter, holding a rag over her mouth and nose! I had to go, but I couldn't take it, so I went back down, and ran to my hotel room, which was many blocks away.
During that uncomfortable jog back, I would have gladly paid a few bucks for a clean restroom. Given my experience, I think it's insane for anyone to expect other people to clean bathrooms for free.
In major urban areas, this is something that has to change!