This is achievable in a couple ways, but one newer technique/methodology that would fit well is Comet. The basic idea is that users subscribe to various server feeds and receive updates when the server broadcasts new events.
In this way, Person 1 could send a request to the server to trigger placing a token on the map. Then the server would be set up to broadcast this event to all subscribers (People 2-5).
The glue would be some kind of client-side application you put together in Javascript that will handle the responses from the server and function as an application for the users. You would need to consider some means for controlling the difference between Person 1 and Person 2-5. That could be done via client-server setup where the client application depends on permissions and authentications from an application server.
You can accomplish the tasks in the last paragraph with any number of technologies, choose whatever feels most comfortable to you. If I were to do it, I might use backbone.js on the client-side and then some kind of RESTful API on the server side. RESTful is rather ubiquitous so just implement the server side in any language you prefer that has a 3rd party library support for Comet and REST.