I have problem.I whrite like http://demo.ashorten.com/gmapcocomo/ .Use
afcs share google map in same room.But I have to create new room first
,and enter my create room.example: I create first room ,name is new.
After enter room(new),I can look map and if other people come in, I
change LatLng and their map alsochange.Like URL.But when I create second
room or more, map can't show.Only first room can use. I don't know why.I
create room anyone collectionNodes have ShareMap.thx.map code: import
com.google.maps.services.GeocodingEvent; import
com.google.maps.services.ClientGeocoder; import
mx.events.ItemClickEvent; import mx.managers.PopUpManager; import
com.google.maps.styles.FillStyle; import
com.google.maps.styles.StrokeStyle; import
com.google.maps.InfoWindowOptions; import com.google.maps.MapMouseEvent;
import com.google.maps.overlays.Marker; import
com.google.maps.overlays.MarkerOptions; import
com.google.maps.MapZoomEvent; import
com.google.maps.controls.MapTypeControl; import
com.google.maps.controls.ZoomControl; import
com.google.maps.controls.PositionControl; import
com.adobe.rtc.session.ConnectSession; import
com.google.maps.MapMoveEvent; import com.google.maps.LatLng; import
com.google.maps.MapEvent; import com.google.maps.MapType; import
mx.controls.Alert; import session.session; protected var
_sharedMapModel:SharedMapModel; private var marker:Marker; private var
markerList:Array = new Array(); private var zoomControl:ZoomControl =
new ZoomControl(); private var mapTypeControl:MapTypeControl = new
MapTypeControl(); private var positionControl:PositionControl = new
PositionControl(); private function init():void {
auth.userName=session.session.user_name;
cSession.roomURL="http://connectnow.acrobat.com/ncyumis/"+roomname; }
private function onMapReady(event:MapEvent):void { map.visible = false;
this.map.setCenter(new LatLng(45.468799,9.188004),14,
MapType.NORMAL_MAP_TYPE); addMapControls(); setupSharedMap(); } private
function addMapControls():void { map.addControl(zoomControl);
map.addControl(mapTypeControl); map.addControl(positionControl); }
private function removeMapControls():void {
map.removeControl(zoomControl); map.removeControl(mapTypeControl);
map.removeControl(positionControl); } private function
setupMapListeners():void { map.addEventListener(MapMoveEvent.MOVE_END,
onMapMoveEnd); map.addEventListener(MapZoomEvent.ZOOM_CHANGED,
onMapZoom); map.addEventListener(MapEvent.MAPTYPE_CHANGED,
onMapTypeChange); } private function setupSharedMap():void {
_sharedMapModel = new SharedMapModel();
_sharedMapModel.subscribe("sharedMap");
_sharedMapModel.addEventListener("subscribed",onSubscribed);
_sharedMapModel.addEventListener("latLngChange",onPositionChange);
_sharedMapModel.addEventListener("zoomChange",onZoomChange);
_sharedMapModel.addEventListener("mapTypeChange",onMapTypeChanged);
_sharedMapModel.addEventListener("markerChange",onMarkerChange); }
private function addMarkerToMap():void { marker = new
Marker(map.getCenter(),new MarkerOptions({draggable:true,strokeStyle:
new StrokeStyle({color: 0x000000}),fillStyle: new FillStyle({color:
0x0000FF, alpha:
0.8}),tooltip:ConnectSession.primarySession.userManager.getUserDescriptor(ConnectSession.primarySession.userManager.myUserID).displayName}));
map.addOverlay(marker); marker.addEventListener(MapEvent.OVERLAY_MOVED,
onOverlayMove); _sharedMapModel.marker = marker; } private function
onSubscribed(p_evt:Event=null):void {
_sharedMapModel.removeEventListener("subscribed",onSubscribed);
setupMapListeners(); addMarkerToMap(); map.visible = true; } private
function onMapMoveEnd(event:MapMoveEvent):void { _sharedMapModel.latLng
= map.getCenter(); } protected function
onPositionChange(p_evt:Event=null):void {
map.removeEventListener(MapMoveEvent.MOVE_END, onMapMoveEnd);
map.setCenter(_sharedMapModel.latLng);
map.addEventListener(MapMoveEvent.MOVE_END, onMapMoveEnd); } private
function onMapZoom(event:MapZoomEvent):void { _sharedMapModel.zoomLevel
= map.getZoom(); } protected function
onZoomChange(p_evt:Event=null):void {
map.removeEventListener(MapZoomEvent.ZOOM_CHANGED, onMapZoom);
map.setZoom(_sharedMapModel.zoomLevel);
map.addEventListener(MapZoomEvent.ZOOM_CHANGED, onMapZoom); } private
function onOverlayMove(event:MapEvent):void { _sharedMapModel.marker =
marker; } protected function onMarkerChange(p_evt:Event=null):void {
markerList.push(_sharedMapModel.marker); for each (var
currentMarker:Marker in markerList) { if
(currentMarker.getOptions().tooltip ==
_sharedMapModel.marker.getOptions().tooltip) {
map.removeOverlay(currentMarker); } }
map.addOverlay(_sharedMapModel.marker); } private function
onMapTypeChange(event:MapEvent):void { _sharedMapModel.mapType =
map.getCurrentMapType().getName(); } protected function
onMapTypeChanged(p_evt:Event=null):void {
map.removeEventListener(MapEvent.MAPTYPE_CHANGED, onMapTypeChange);
switch (_sharedMapModel.mapType) { case "Map": {
map.setMapType(MapType.NORMAL_MAP_TYPE); break; } case "Satellite": {
map.setMapType(MapType.SATELLITE_MAP_TYPE); break; } case "Hybrid": {
map.setMapType(MapType.HYBRID_MAP_TYPE); break; } case "Terrain": {
map.setMapType(MapType.PHYSICAL_MAP_TYPE); break; } } } public function
searchAddress(addr:String):void { var geocoder:ClientGeocoder = new
ClientGeocoder();
geocoder.addEventListener(GeocodingEvent.GEOCODING_SUCCESS,
function(event:GeocodingEvent):void { var placemarks:Array =
event.response.placemarks; if (placemarks.length > 0) {
map.setCenter(placemarks[0].point); _sharedMapModel.latLng =
map.getCenter(); } });
geocoder.addEventListener(GeocodingEvent.GEOCODING_FAILURE,
function(event:GeocodingEvent):void { Alert.show("Geocoding failed");
}); geocoder.geocode(addr); }