Some food for thought:

I'm not sure what creates the queries that eventually populates this callback. However, in most cases, the list of users will be filtered on a type (e.g. Vendors looking for Clients), so a generic solution may need to take that into account. Also, whatever solution we put to put users on a map, it needs to be able to operate in single mode with filtering as well. For instance, take this example:

- Vendor opens map view
- Vendor queries for all Clients nearby
- This callback is called with the query results
- For each Client, only those with open requests are kept
- Finally, the list of remaining clients can be rendered as markers to the map
- After some time, updates come in over the push channel, informing the Vendor of any User who has changed location
- The User is filtered to make sure he is a Client and that he has an open Request
- If the User passes, he is rendered to the map (or moved if the marker already existed)

Assuming we can handle this flow, the callback should be fine