Facebook has the who, where, what and when pretty much all covered for its App developers.

Facebook announced a few new tricks for its apps today. According to Facebook’s Alex Wyler, developers are now able to share photos, video, location and tag friends directly from Facebook apps.
Basically, Facebook is giving its app developers the same functions that it already exposes to users when they create status updates on Facebook.
Developers now have APIs for setting locations on posts and objects (photos and videos), and for tagging friends. Facebook is also providing better search for places, and exposing support for finding posts from friends by location.

Users still retain the same kind of privacy controls they have with Facebook posts. If they’re tagged via an app interaction, it can be approved automatically, hidden or routed for approval depending on their settings.
Given the ability to query and set locations via apps, it should be interesting to see what developers come up with.