the other classes:

package com.qubozone.flash.map
{
        import com.qubozone.flash.loaders.RequestXMLLoader;

        import flash.display.Sprite;
        import flash.events.Event;

        public class MapRequest extends Sprite
        {
                private var _url:String;
                private var _xmlLoader:RequestXMLLoader;
                private var _mapXml:MapXml;

                public function MapRequest(url:String)
                {
                        _url = url;
                        loadXml();
                }

                private function loadXml():void
                {
                        _xmlLoader = new RequestXMLLoader();
                        _xmlLoader.addEventListener(Event.COMPLETE, 
onLoaderComplete);
                        _xmlLoader.loadRequest(_url);
                }

                private function onLoaderComplete(e:Event):void
                {
                        createMap(_xmlLoader.loadXml());
                        _xmlLoader.removeEventListener(Event.COMPLETE, 
onLoaderComplete);
                }

                private function createMap(xml:XML):void
                {
                        _mapXml = new MapXml(xml);
                        _mapXml.addEventListener(Event.COMPLETE, onMapComplete);
                        addChild(_mapXml);
                }

                private function onMapComplete(e:Event):void
                {
                        dispatchEvent(e);
                        _mapXml.removeEventListener(Event.COMPLETE, 
onMapComplete);
                }
        }
}



package com.qubozone.flash.loaders
{
        import flash.display.Sprite;
        import flash.events.IEventDispatcher;
        import flash.events.Event;
        import flash.events.ProgressEvent;
        import flash.net.URLLoader;
        import flash.net.URLRequest;
        public class RequestXMLLoader extends Sprite
        {
                private var _urlLoader:URLLoader;
                public function RequestXMLLoader()
                {
                        _urlLoader = new URLLoader();
                        addListeners(_urlLoader);
                }
                private function addListeners(d:IEventDispatcher):void
                {
                        d.addEventListener(Event.OPEN, onOpen);
                        d.addEventListener(ProgressEvent.PROGRESS, onProgress);
                        d.addEventListener(Event.COMPLETE, onComplete);
                }
                public function loadRequest(url:String):void
                {
                        var urlReq:URLRequest = new URLRequest(url);
                        _urlLoader.load(urlReq);
                }
                public function loadXml():XML
                {
                        var xmlData:XML = new XML(_urlLoader.data);
                        xmlData.ignoreWhitespace = true;
                        return xmlData;
                }
                private function onOpen(e:Event):void
                {
                }
                private function onProgress(e:ProgressEvent):void
                {
                }
                private function onComplete(e:Event):void
                {
                        dispatchEvent(e);
                }
        }
}


package com.qubozone.flash.map
{
        import com.google.maps.MapEvent;

        import flash.display.Sprite;
        import flash.events.Event;

        public class MapXml extends Sprite
        {
                private var _xml:XML;
                private var _simpleMap:SimpleMap;

                public function MapXml(xml:XML)
                {
                        _xml = xml;
                        createMap();
                        loadMap(_xml);

                }

                private function createMap():void
                {
                        _simpleMap = new SimpleMap();
                        _simpleMap.addEventListener(MapEvent.MAP_READY, 
onSimpleMapReady);
                        addChild(_simpleMap);
                }

                private function loadMap(_xml:XML):void
                {
                        for each(var location:XML in _xml..location)
                        {
                                _simpleMap.setKey(location.key);
                                _simpleMap.setSize(location.size);
                                _simpleMap.setCenter(location.center);
                                _simpleMap.setZoom(location.zoom);
                        }
                }

                private function onSimpleMapReady(e:MapEvent):void
                {
                        dispatchEvent(new Event(Event.COMPLETE));
                        _simpleMap.removeEventListener(MapEvent.MAP_READY,
onSimpleMapReady);
                }
        }
}


package com.qubozone.flash.map
{
        import com.google.maps.*;
        import com.google.maps.controls.*;
        import com.google.maps.overlays.*;

        import flash.display.Sprite;
        import flash.events.Event;
        import flash.geom.Point;

        public class SimpleMap extends Sprite
        {
                private var _mapOptions:MapOptions;
                private var _markerOptions:MarkerOptions;
                private var _map:Map;

                public function SimpleMap()
                {
                        initMapOptions();
                        initMarkerOptions();
                        initMap();
                }

                private function initMapOptions():void
                {
                        _mapOptions = new MapOptions();
                }

                private function initMarkerOptions():void
                {
                        _markerOptions = new MarkerOptions();
                }

                private function initMap():void
                {
                        _map = new Map();
                        _map.addEventListener(MapEvent.MAP_PREINITIALIZE,
onMapPreinitialize);
                        _map.addEventListener(MapEvent.MAP_READY, onMapReady);
                        addChild(_map);
                }

                private function onMapPreinitialize(e:Event):void
                {
                _map.setInitOptions(_mapOptions);
                _map.removeEventListener(MapEvent.MAP_PREINITIALIZE,
onMapPreinitialize);
                }

                private function onMapReady(e:Event):void
                {
                        _map.addControl(new ZoomControl());
                        _map.addControl(new PositionControl());
                        _map.addControl(new MapTypeControl());

                        _map.addOverlay(new Marker(_map.getCenter()));

                        dispatchEvent(e);
                        _map.removeEventListener(MapEvent.MAP_READY, 
onMapReady);
                }

                public function setKey(string:String):void
                {
                        _map.key = string;
                }

                public function setSize(string:String):void
                {
                        var a:Array = string.split(",", 2);
                        _map.setSize(new Point(a[0], a[1]));
                }

                public function setCenter(string:String):void
                {
                        var a:Array = string.split(",", 2);
                        _mapOptions.center = new LatLng(a[0], a[1]);
                }

                public function setZoom(zoom:Number):void
                {
                        _mapOptions.zoom = zoom;
                }
        }
}


XML

<?xml version="1.0" encoding="utf-8"?>
<map>
        <location>
 
<key>ABQIAAAAYPnr_OthGfOdDO1QSxsYDRT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTJa6PJrGjQJqyggIiDdwXk30JM9w</
key>
                <size>700,600</size>
                <center>45.173060,11.668044</center>
                <zoom>9</zoom>
        </location>
 </map>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Maps API For Flash" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-maps-api-for-flash?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to