About 2 weeks ago.
They're generally randomly generated. There's some algorithm used by the parent company that interacts with Google Maps and determines the best locations, likely based on searches/traffic data/etc.
This is actually the companies second big augmented reality game, the first being "ingest" which had you going around tying to control points in the real world for your team.
It's been successful for a variety of reasons......
Pokémon are still popular with kids, so tick one off there.
We're living in the age of Nostalgia, and for those in their 20's to 30's, this potentially pings that, so another tick off.
It's custom built for "social media" age where people love to talk about themselves and throw up pictures, as it creates an identifiable foundation for people to talk and brag about. Another tick mark.
For the techie folk out there, the AR applications of the game and the way it's generating interest in such things can be a lure to trying it out.
Add to all of that the issues of the past few weeks with the shootings and people looking for a little escape from reality, and it created a ripe situation for this to succeed.
The getting up and moving part of it is simply an added bonus. It's not like people being glued to their cell phones playing some mindless game (angry birds, candy crush, etc) is somehow unusual. But at least in this case, there's a positive benefit to it.
So here's how it generally works.
The game places pokemon in different GPS coordinate locations.
Your phone shows you what's near by and the rough distance of how close they are (10, 20, or 30 meters).
If you are walking/moving around, you have the potential to spot one of the pokemon that is within a short distance from you. If they appear, you can then "catch" them by doing a little mini-game that is similar to the "Paper Toss" game on phones. You have a ball that you toss by flicking your finger across the screen, and you try to make it land on the pokemon.
There are virtual "stops" around the world where you are able to get near and use, which will give you items like additional balls to capture pokemon or items that will heal them after a fight. There are also "Gyms", areas where teams can try to control to "train" and where other teams will attempt to fight you for. This is where the various pokemon "battle".
There are different items that will increase the amount of pokemon around either yourself or around a stop. These items that are used at the stops are what people have been using in instances where you hear that a store front has tried to attract people to their business via the game. When you use a the item, a "lure", on a pokestop it makes more pokemon appear for everyone right near it. So if your business happens to randomly be a pokestop, you could potentially attract people to your business by setting the lure. People would see it and know that's a location where more pokemon are likely to show up.
Finally...