Google Maps Collaboration is another sample I wrote during the Flex 2 beta. Since it triggered some interest at the time, I updated the code for the GA build of Flex 2.
The Flex application is essentially a collaboration panel that I added on top of Google Maps, but that you could add on top of any application (HTML, Ajax, or Flex).
The Flex module adds the following collaboration features to Google Maps:
- Map sharing: Maps are kept in sync (in real time) between users involved in a collaboration session.
- Videoconferencing (Webcam sharing and VOIP): You can share your Webcam and microphone to add video and audio to your collaboration session.
- Whiteboarding: Collaborating users can draw on the map. For example you could draw potential directions, etc. The users’ whiteboards are kept in sync in real time.
- Cursor sharing: When you move your mouse, other users see the movements of your mouse and what you are pointing at.
The Flex features used in this example include:
- Publish/subscribe messaging and support for real-time communication
- Drawing API
- Support for webcam/voice capture and streaming (Flash Media Server is required for streaming).
Run a simplified version of the application. Real time messaging (used for map sharing and whiteboard synchronization) has been disabled in this version.
- Install the Flex Data Services
- Download the application and deploy it in the samples web app.
- In messaging-config.xml, add a “flexmaps” destination: You can copy the dashboard_chat destination and change the destination id to “flexmaps”.
- Install the Flash Media Server: you can download a free developer edition here (click free developer edition)
- In C:\Program Files\Macromedia\Flash Media Server 2\applications\flex_videoconference, create a directory called flex_videoconference and copy the main.asc file in that directory
- Access the application using the appropriate URL. For example: http://localhost:8700/samples/flexmaps.html