flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ha...@apache.org
Subject [06/51] [abbrv] git commit: [flex-asjs] [refs/heads/e4x] - new folders for GoogleMaps
Date Thu, 11 Feb 2016 09:10:36 GMT
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/event.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/event.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/event.as
new file mode 100644
index 0000000..2a67d02
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/event.as
@@ -0,0 +1,83 @@
+package google.maps {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class event {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function event():void {  }
+
+    /**
+     * @param instance [(Object|null)] 
+     * @param eventName [string] 
+     * @param var_args [*] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public static function trigger(instance:Object, eventName:String, ...var_args):Object /* undefined */ {  return null; }
+
+    /**
+     * @param instance [(Object|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public static function clearInstanceListeners(instance:Object):Object /* undefined */ {  return null; }
+
+    /**
+     * @param instance [(Object|null)] 
+     * @param eventName [string] 
+     * @param handler [Function] 
+     * @param opt_capture [(boolean|undefined)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.MapsEventListener|null)} 
+     */
+    public static function addDomListenerOnce(instance:Object, eventName:String, handler:Function /* Function */, opt_capture:Boolean = false):google.maps.MapsEventListener {  return null; }
+
+    /**
+     * @param listener [(google.maps.MapsEventListener|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public static function removeListener(listener:google.maps.MapsEventListener):Object /* undefined */ {  return null; }
+
+    /**
+     * @param instance [(Object|null)] 
+     * @param eventName [string] 
+     * @param handler [Function] 
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.MapsEventListener|null)} 
+     */
+    public static function addListener(instance:Object, eventName:String, handler:Function /* Function */):google.maps.MapsEventListener {  return null; }
+
+    /**
+     * @param instance [(Object|null)] 
+     * @param eventName [string] 
+     * @param handler [Function] 
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.MapsEventListener|null)} 
+     */
+    public static function addListenerOnce(instance:Object, eventName:String, handler:Function /* Function */):google.maps.MapsEventListener {  return null; }
+
+    /**
+     * @param instance [(Object|null)] 
+     * @param eventName [string] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public static function clearListeners(instance:Object, eventName:String):Object /* undefined */ {  return null; }
+
+    /**
+     * @param instance [(Object|null)] 
+     * @param eventName [string] 
+     * @param handler [Function] 
+     * @param opt_capture [(boolean|undefined)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.MapsEventListener|null)} 
+     */
+    public static function addDomListener(instance:Object, eventName:String, handler:Function /* Function */, opt_capture:Boolean = false):google.maps.MapsEventListener {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry.as
new file mode 100644
index 0000000..5d72731
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry.as
@@ -0,0 +1,33 @@
+package google.maps {
+
+import google.maps.geometry.spherical;
+import google.maps.geometry.encoding;
+import google.maps.geometry.poly;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class geometry {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function geometry():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public var poly:google.maps.geometry.poly;
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public var encoding:google.maps.geometry.encoding;
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public var spherical:google.maps.geometry.spherical;
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/encoding.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/encoding.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/encoding.as
new file mode 100644
index 0000000..c88b290
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/encoding.as
@@ -0,0 +1,28 @@
+package google.maps.geometry {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class encoding {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function encoding():void {  }
+
+    /**
+     * @param path [(Array<(google.maps.LatLng|null)>|google.maps.MVCArray|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {string} 
+     */
+    public static function encodePath(path:Object):String {  return null; }
+
+    /**
+     * @param encodedPath [string] 
+     * @see [google_maps_api_v3_11]
+     * @returns {(Array<(google.maps.LatLng|null)>|null)} 
+     */
+    public static function decodePath(encodedPath:String):Array {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/poly.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/poly.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/poly.as
new file mode 100644
index 0000000..573db4d
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/poly.as
@@ -0,0 +1,34 @@
+package google.maps.geometry {
+
+import google.maps.LatLng;
+import google.maps.Polygon;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class poly {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function poly():void {  }
+
+    /**
+     * @param point [(google.maps.LatLng|null)] 
+     * @param polygon [(google.maps.Polygon|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {boolean} 
+     */
+    public static function containsLocation(point:google.maps.LatLng, polygon:google.maps.Polygon):Boolean {  return null; }
+
+    /**
+     * @param point [(google.maps.LatLng|null)] 
+     * @param poly [(google.maps.Polygon|google.maps.Polyline|null)] 
+     * @param opt_tolerance [(number|undefined)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {boolean} 
+     */
+    public static function isLocationOnEdge(point:google.maps.LatLng, poly:Object, opt_tolerance:Number = 0):Boolean {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/spherical.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/spherical.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/spherical.as
new file mode 100644
index 0000000..78dbb08
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/geometry/spherical.as
@@ -0,0 +1,86 @@
+package google.maps.geometry {
+
+import google.maps.LatLng;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class spherical {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function spherical():void {  }
+
+    /**
+     * @param from [(google.maps.LatLng|null)] 
+     * @param distance [number] 
+     * @param heading [number] 
+     * @param opt_radius [(number|undefined)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.LatLng|null)} 
+     */
+    public static function computeOffset(from:google.maps.LatLng, distance:Number, heading:Number, opt_radius:Number = 0):google.maps.LatLng {  return null; }
+
+    /**
+     * @param from [(google.maps.LatLng|null)] 
+     * @param to [(google.maps.LatLng|null)] 
+     * @param opt_radius [(number|undefined)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {number} 
+     */
+    public static function computeDistanceBetween(from:google.maps.LatLng, to:google.maps.LatLng, opt_radius:Number = 0):Number { return 0; }
+
+    /**
+     * @param to [(google.maps.LatLng|null)] 
+     * @param distance [number] 
+     * @param heading [number] 
+     * @param opt_radius [(number|undefined)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.LatLng|null)} 
+     */
+    public static function computeOffsetOrigin(to:google.maps.LatLng, distance:Number, heading:Number, opt_radius:Number = 0):google.maps.LatLng {  return null; }
+
+    /**
+     * @param from [(google.maps.LatLng|null)] 
+     * @param to [(google.maps.LatLng|null)] 
+     * @param fraction [number] 
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.LatLng|null)} 
+     */
+    public static function interpolate(from:google.maps.LatLng, to:google.maps.LatLng, fraction:Number):google.maps.LatLng {  return null; }
+
+    /**
+     * @param path [(Array<(google.maps.LatLng|null)>|google.maps.MVCArray|null)] 
+     * @param opt_radius [(number|undefined)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {number} 
+     */
+    public static function computeLength(path:Object, opt_radius:Number = 0):Number { return 0; }
+
+    /**
+     * @param loop [(Array<(google.maps.LatLng|null)>|google.maps.MVCArray|null)] 
+     * @param opt_radius [(number|undefined)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {number} 
+     */
+    public static function computeSignedArea(loop:Object, opt_radius:Number = 0):Number { return 0; }
+
+    /**
+     * @param from [(google.maps.LatLng|null)] 
+     * @param to [(google.maps.LatLng|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {number} 
+     */
+    public static function computeHeading(from:google.maps.LatLng, to:google.maps.LatLng):Number { return 0; }
+
+    /**
+     * @param path [(Array<(google.maps.LatLng|null)>|google.maps.MVCArray|null)] 
+     * @param opt_radius [(number|undefined)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {number} 
+     */
+    public static function computeArea(path:Object, opt_radius:Number = 0):Number { return 0; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/panoramio.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/panoramio.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/panoramio.as
new file mode 100644
index 0000000..25ebe7a
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/panoramio.as
@@ -0,0 +1,30 @@
+package google.maps {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class panoramio {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function panoramio():void {  }
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function PanoramioLayerOptions():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function PanoramioMouseEvent():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function PanoramioFeature():void {  }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/panoramio/PanoramioLayer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/panoramio/PanoramioLayer.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/panoramio/PanoramioLayer.as
new file mode 100644
index 0000000..a6bd5ff
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/panoramio/PanoramioLayer.as
@@ -0,0 +1,66 @@
+package google.maps.panoramio {
+
+import google.maps.Map;
+import google.maps.MVCObject;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor extends google.maps.MVCObject */
+public class PanoramioLayer extends google.maps.MVCObject {
+
+    /**
+     * @param opt_opts [(Object<?,string>|google.maps.panoramio.PanoramioLayerOptions|null|undefined)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public function PanoramioLayer(opt_opts:Object = null) {
+        super();
+    }
+
+    /**
+     * @param userId [string] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setUserId(userId:String):Object /* undefined */ {  return null; }
+
+    /**
+     * @param tag [string] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setTag(tag:String):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {string} 
+     */
+    public function getUserId():String {  return null; }
+
+    /**
+     * @param options [(Object<?,string>|google.maps.panoramio.PanoramioLayerOptions|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setOptions(options:Object):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {string} 
+     */
+    public function getTag():String {  return null; }
+
+    /**
+     * @param map [(google.maps.Map|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setMap(map:google.maps.Map):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.Map|null)} 
+     */
+    public function getMap():google.maps.Map {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places.as
new file mode 100644
index 0000000..0706b50
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places.as
@@ -0,0 +1,103 @@
+package google.maps {
+
+import google.maps.places.RankBy;
+import google.maps.places.PlacesServiceStatus;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class places {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function places():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public var RankBy:google.maps.places.RankBy;
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public var PlacesServiceStatus:google.maps.places.PlacesServiceStatus;
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function TextSearchRequest():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function PredictionSubstring():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function AutocompletionRequest():void {  }
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function PlaceDetailsRequest():void {  }
+
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function PredictionTerm():void {  }
+
+
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function AutocompleteOptions():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function SearchBoxOptions():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function PlacePhoto():void {  }
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function QueryAutocompletePrediction():void {  }
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function QueryAutocompletionRequest():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function AutocompletePrediction():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function PlaceSearchRequest():void {  }
+
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function RadarSearchRequest():void {  }
+
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/Autocomplete.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/Autocomplete.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/Autocomplete.as
new file mode 100644
index 0000000..e1bf0f0
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/Autocomplete.as
@@ -0,0 +1,55 @@
+package google.maps.places {
+
+import google.maps.MVCObject;
+import google.maps.LatLngBounds;
+import google.pseudo.HTMLInputElement;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor extends google.maps.MVCObject */
+public class Autocomplete extends google.maps.MVCObject {
+
+    /**
+     * @param inputField [(HTMLInputElement|null)] 
+     * @param opt_opts [(Object<?,string>|google.maps.places.AutocompleteOptions|null|undefined)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public function Autocomplete(inputField:HTMLInputElement, opt_opts:Object = null) {
+        super();
+    }
+
+    /**
+     * @param restrictions [(google.maps.places.ComponentRestrictions|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setComponentRestrictions(restrictions:google.maps.places.ComponentRestrictions):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.LatLngBounds|null)} 
+     */
+    public function getBounds():google.maps.LatLngBounds {  return null; }
+
+    /**
+     * @param bounds [(google.maps.LatLngBounds|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setBounds(bounds:google.maps.LatLngBounds):Object /* undefined */ {  return null; }
+
+    /**
+     * @param types [(Array<string>|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setTypes(types:Array):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.places.PlaceResult|null)} 
+     */
+    public function getPlace():google.maps.places.PlaceResult {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/AutocompleteService.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/AutocompleteService.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/AutocompleteService.as
new file mode 100644
index 0000000..48399b4
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/AutocompleteService.as
@@ -0,0 +1,32 @@
+package google.maps.places {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class AutocompleteService {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function AutocompleteService() {
+        super();
+    }
+
+    /**
+     * @param request [(Object<?,string>|google.maps.places.AutocompletionRequest|null)] 
+     * @param callback [function ((Array<(google.maps.places.AutocompletePrediction|null)>|null), (google.maps.places.PlacesServiceStatus|null)): ?] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function getPlacePredictions(request:Object, callback:Object):Object /* undefined */ {  return null; }
+
+    /**
+     * @param request [(Object<?,string>|google.maps.places.QueryAutocompletionRequest|null)] 
+     * @param callback [function ((Array<(google.maps.places.QueryAutocompletePrediction|null)>|null), (google.maps.places.PlacesServiceStatus|null)): ?] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function getQueryPredictions(request:Object, callback:Object):Object /* undefined */ {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/ComponentRestrictions.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/ComponentRestrictions.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/ComponentRestrictions.as
new file mode 100644
index 0000000..7168e10
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/ComponentRestrictions.as
@@ -0,0 +1,22 @@
+package google.maps.places {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class ComponentRestrictions {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function ComponentRestrictions() {
+        super();
+    }
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var country:String;
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PhotoOptions.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PhotoOptions.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PhotoOptions.as
new file mode 100644
index 0000000..b241e72
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PhotoOptions.as
@@ -0,0 +1,28 @@
+package google.maps.places {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class PhotoOptions {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function PhotoOptions() {
+        super();
+    }
+
+    /**
+     * @see JSType - [number] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var maxWidth:Number;
+
+    /**
+     * @see JSType - [number] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var maxHeight:Number;
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceAspectRating.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceAspectRating.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceAspectRating.as
new file mode 100644
index 0000000..f358773
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceAspectRating.as
@@ -0,0 +1,28 @@
+package google.maps.places {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class PlaceAspectRating {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function PlaceAspectRating() {
+        super();
+    }
+
+    /**
+     * @see JSType - [number] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var rating:Number;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var type:String;
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceGeometry.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceGeometry.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceGeometry.as
new file mode 100644
index 0000000..dedf940
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceGeometry.as
@@ -0,0 +1,31 @@
+package google.maps.places {
+
+import google.maps.LatLng;
+import google.maps.LatLngBounds;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class PlaceGeometry {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function PlaceGeometry() {
+        super();
+    }
+
+    /**
+     * @see JSType - [(google.maps.LatLngBounds|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var viewport:google.maps.LatLngBounds;
+
+    /**
+     * @see JSType - [(google.maps.LatLng|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var location:google.maps.LatLng;
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceResult.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceResult.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceResult.as
new file mode 100644
index 0000000..141b4e9
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceResult.as
@@ -0,0 +1,142 @@
+package google.maps.places {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class PlaceResult {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function PlaceResult() {
+        super();
+    }
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var icon:String;
+
+    /**
+     * @see JSType - [(Array((google.maps.places.PlaceReview|null))|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var reviews:Array;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var website:String;
+
+    /**
+     * @see JSType - [(Array((google.maps.places.PlaceAspectRating|null))|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var aspects:Array;
+
+    /**
+     * @see JSType - [boolean] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var permanently_closed:Boolean;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var review_summary:String;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var international_phone_number:String;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var url:String;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var reference:String;
+
+    /**
+     * @see JSType - [(google.maps.places.PlaceGeometry|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var geometry:google.maps.places.PlaceGeometry;
+
+    /**
+     * @see JSType - [number] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var price_level:Number;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var id:String;
+
+    /**
+     * @see JSType - [(Array((google.maps.places.PlacePhoto|null))|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var photos:Array;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var vicinity:String;
+
+    /**
+     * @see JSType - [(Array(string)|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var html_attributions:Array;
+
+    /**
+     * @see JSType - [(Array((google.maps.GeocoderAddressComponent|null))|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var address_components:Array;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var name:String;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var formatted_address:String;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var formatted_phone_number:String;
+
+    /**
+     * @see JSType - [number] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var rating:Number;
+
+    /**
+     * @see JSType - [(Array(string)|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var types:Array;
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceReview.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceReview.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceReview.as
new file mode 100644
index 0000000..daf9a63
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceReview.as
@@ -0,0 +1,40 @@
+package google.maps.places {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class PlaceReview {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function PlaceReview() {
+        super();
+    }
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var text:String;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var author_url:String;
+
+    /**
+     * @see JSType - [string] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var author_name:String;
+
+    /**
+     * @see JSType - [(Array(google.maps.places.PlaceAspectRating|null)|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var aspects:Array;
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceSearchPagination.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceSearchPagination.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceSearchPagination.as
new file mode 100644
index 0000000..376e07f
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlaceSearchPagination.as
@@ -0,0 +1,28 @@
+package google.maps.places {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class PlaceSearchPagination {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function PlaceSearchPagination() {
+        super();
+    }
+
+    /**
+     * @see JSType - [boolean] 
+     * @see [google_maps_api_v3_11]
+     */
+    public var hasNextPage:Boolean;
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function nextPage():Object /* undefined */ {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlacesService.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlacesService.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlacesService.as
new file mode 100644
index 0000000..e8c5a5a
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlacesService.as
@@ -0,0 +1,49 @@
+package google.maps.places {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class PlacesService {
+
+    /**
+     * @param attrContainer [(HTMLDivElement|google.maps.Map|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public function PlacesService(attrContainer:Object) {
+        super();
+    }
+
+    /**
+     * @param request [(Object<?,string>|google.maps.places.PlaceDetailsRequest|null)] 
+     * @param callback [function ((google.maps.places.PlaceResult|null), (google.maps.places.PlacesServiceStatus|null)): ?] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function getDetails(request:Object, callback:Object):Object /* undefined */ {  return null; }
+
+    /**
+     * @param request [(Object<?,string>|google.maps.places.RadarSearchRequest|null)] 
+     * @param callback [function ((Array<(google.maps.places.PlaceResult|null)>|null), (google.maps.places.PlacesServiceStatus|null)): ?] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function radarSearch(request:Object, callback:Object):Object /* undefined */ {  return null; }
+
+    /**
+     * @param request [(Object<?,string>|google.maps.places.PlaceSearchRequest|null)] 
+     * @param callback [function ((Array<(google.maps.places.PlaceResult|null)>|null), (google.maps.places.PlacesServiceStatus|null), (google.maps.places.PlaceSearchPagination|null)): ?] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function nearbySearch(request:Object, callback:Object):Object /* undefined */ {  return null; }
+
+    /**
+     * @param request [(Object<?,string>|google.maps.places.TextSearchRequest|null)] 
+     * @param callback [function ((Array<(google.maps.places.PlaceResult|null)>|null), (google.maps.places.PlacesServiceStatus|null)): ?] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function textSearch(request:Object, callback:Object):Object /* undefined */ {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlacesServiceStatus.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlacesServiceStatus.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlacesServiceStatus.as
new file mode 100644
index 0000000..94b4702
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/PlacesServiceStatus.as
@@ -0,0 +1,52 @@
+package google.maps.places {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class PlacesServiceStatus {
+
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const OK:String = '2';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const OVER_QUERY_LIMIT:String = '3';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const REQUEST_DENIED:String = '4';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const ZERO_RESULTS:String = '';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const INVALID_REQUEST:String = '1';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const UNKNOWN_ERROR:String = '5';
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/RankBy.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/RankBy.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/RankBy.as
new file mode 100644
index 0000000..a744e12
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/RankBy.as
@@ -0,0 +1,24 @@
+package google.maps.places {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class RankBy {
+
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const DISTANCE:Number = 0;
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const PROMINENCE:Number = 1;
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/SearchBox.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/SearchBox.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/SearchBox.as
new file mode 100644
index 0000000..20ae004
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/places/SearchBox.as
@@ -0,0 +1,42 @@
+package google.maps.places {
+
+import google.maps.MVCObject;
+import google.maps.LatLngBounds;
+import google.pseudo.Node;
+import google.pseudo.HTMLInputElement;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor extends google.maps.MVCObject */
+public class SearchBox extends google.maps.MVCObject {
+
+    /**
+     * @param inputField [(HTMLInputElement|null)] 
+     * @param opt_opts [(Object<?,string>|google.maps.places.SearchBoxOptions|null|undefined)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public function SearchBox(inputField:HTMLInputElement, opt_opts:Object = null) {
+        super();
+    }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(Array<(google.maps.places.PlaceResult|null)>|null)} 
+     */
+    public function getPlaces():Array {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.LatLngBounds|null)} 
+     */
+    public function getBounds():google.maps.LatLngBounds {  return null; }
+
+    /**
+     * @param bounds [(google.maps.LatLngBounds|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setBounds(bounds:google.maps.LatLngBounds):Object /* undefined */ {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization.as
new file mode 100644
index 0000000..0547a3f
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization.as
@@ -0,0 +1,74 @@
+package google.maps {
+
+import google.maps.visualization.MapsEngineStatus;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class visualization {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function visualization():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public var MapsEngineStatus:google.maps.visualization.MapsEngineStatus;
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function DemographicsLayerOptions():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function HeatmapLayerOptions():void {  }
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function DemographicsStyle():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function MapsEngineLayerOptions():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function DemographicsPolygonOptions():void {  }
+
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function DemographicsQuery():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function MapsEngineLayerProperties():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function WeightedLocation():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function DemographicsPropertyStyle():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function MapsEngineMouseEvent():void {  }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/DemographicsLayer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/DemographicsLayer.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/DemographicsLayer.as
new file mode 100644
index 0000000..d4e8bc3
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/DemographicsLayer.as
@@ -0,0 +1,65 @@
+package google.maps.visualization {
+
+import google.maps.Map;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class DemographicsLayer {
+
+    /**
+     * @param opt_opts [(Object<?,string>|google.maps.visualization.DemographicsLayerOptions|null|undefined)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public function DemographicsLayer(opt_opts:Object = null) {
+        super();
+    }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.visualization.DemographicsQuery|null)} 
+     */
+    public function getQuery():google.maps.visualization.DemographicsQuery {  return null; }
+
+    /**
+     * @param options [(Object<?,string>|google.maps.visualization.DemographicsLayerOptions|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setOptions(options:Object):Object /* undefined */ {  return null; }
+
+    /**
+     * @param query [(google.maps.visualization.DemographicsQuery|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setQuery(query:google.maps.visualization.DemographicsQuery):Object /* undefined */ {  return null; }
+
+    /**
+     * @param style [(Array<(google.maps.visualization.DemographicsStyle|null)>|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setStyle(style:Array):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(Array<(google.maps.visualization.DemographicsStyle|null)>|null)} 
+     */
+    public function getStyle():Array {  return null; }
+
+    /**
+     * @param map [(google.maps.Map|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setMap(map:google.maps.Map):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.Map|null)} 
+     */
+    public function getMap():google.maps.Map {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/HeatmapLayer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/HeatmapLayer.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/HeatmapLayer.as
new file mode 100644
index 0000000..8de2728
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/HeatmapLayer.as
@@ -0,0 +1,47 @@
+package google.maps.visualization {
+
+import google.maps.Map;
+import google.maps.MVCObject;
+import google.maps.MVCArray;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor extends google.maps.MVCObject */
+public class HeatmapLayer extends google.maps.MVCObject {
+
+    /**
+     * @param opt_opts [(Object<?,string>|google.maps.visualization.HeatmapLayerOptions|null|undefined)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public function HeatmapLayer(opt_opts:Object = null) {
+        super();
+    }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.MVCArray|null)} 
+     */
+    public function getData():google.maps.MVCArray {  return null; }
+
+    /**
+     * @param data [(Array<(google.maps.LatLng|google.maps.visualization.WeightedLocation|null)>|google.maps.MVCArray|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setData(data:Object):Object /* undefined */ {  return null; }
+
+    /**
+     * @param map [(google.maps.Map|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setMap(map:google.maps.Map):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.Map|null)} 
+     */
+    public function getMap():google.maps.Map {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/MapsEngineLayer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/MapsEngineLayer.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/MapsEngineLayer.as
new file mode 100644
index 0000000..561df98
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/MapsEngineLayer.as
@@ -0,0 +1,91 @@
+package google.maps.visualization {
+
+import google.maps.Map;
+import google.maps.MVCObject;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor extends google.maps.MVCObject */
+public class MapsEngineLayer extends google.maps.MVCObject {
+
+    /**
+     * @param options [(Object<?,string>|google.maps.visualization.MapsEngineLayerOptions|null)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public function MapsEngineLayer(options:Object) {
+        super();
+    }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.visualization.MapsEngineStatus|null)} 
+     */
+    public function getStatus():google.maps.visualization.MapsEngineStatus {  return null; }
+
+    /**
+     * @param layerId [string] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setLayerId(layerId:String):Object /* undefined */ {  return null; }
+
+    /**
+     * @param options [(Object<?,string>|google.maps.visualization.MapsEngineLayerOptions|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setOptions(options:Object):Object /* undefined */ {  return null; }
+
+    /**
+     * @param layerKey [string] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setLayerKey(layerKey:String):Object /* undefined */ {  return null; }
+
+    /**
+     * @param mapId [string] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setMapId(mapId:String):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {string} 
+     */
+    public function getMapId():String {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.visualization.MapsEngineLayerProperties|null)} 
+     */
+    public function getProperties():google.maps.visualization.MapsEngineLayerProperties {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {string} 
+     */
+    public function getLayerKey():String {  return null; }
+
+    /**
+     * @param map [(google.maps.Map|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setMap(map:google.maps.Map):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.Map|null)} 
+     */
+    public function getMap():google.maps.Map {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {string} 
+     */
+    public function getLayerId():String {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/MapsEngineStatus.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/MapsEngineStatus.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/MapsEngineStatus.as
new file mode 100644
index 0000000..68a2adc
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/visualization/MapsEngineStatus.as
@@ -0,0 +1,31 @@
+package google.maps.visualization {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class MapsEngineStatus {
+
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const OK:String = '2';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const UNKNOWN_ERROR:String = '3';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const INVALID_LAYER:String = '1';
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather.as
new file mode 100644
index 0000000..d995229
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather.as
@@ -0,0 +1,60 @@
+package google.maps {
+
+import google.maps.weather.WindSpeedUnit;
+import google.maps.weather.LabelColor;
+import google.maps.weather.TemperatureUnit;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class weather {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function weather():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public var TemperatureUnit:google.maps.weather.TemperatureUnit;
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public var LabelColor:google.maps.weather.LabelColor;
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public var WindSpeedUnit:google.maps.weather.WindSpeedUnit;
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function WeatherMouseEvent():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function WeatherForecast():void {  }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function WeatherConditions():void {  }
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function WeatherFeature():void {  }
+
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public static function WeatherLayerOptions():void {  }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/CloudLayer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/CloudLayer.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/CloudLayer.as
new file mode 100644
index 0000000..9914927
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/CloudLayer.as
@@ -0,0 +1,32 @@
+package google.maps.weather {
+
+import google.maps.Map;
+import google.maps.MVCObject;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor extends google.maps.MVCObject */
+public class CloudLayer extends google.maps.MVCObject {
+
+    /**
+     * @see [google_maps_api_v3_11]
+     */
+    public function CloudLayer() {
+        super();
+    }
+
+    /**
+     * @param map [(google.maps.Map|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setMap(map:google.maps.Map):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.Map|null)} 
+     */
+    public function getMap():google.maps.Map {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/LabelColor.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/LabelColor.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/LabelColor.as
new file mode 100644
index 0000000..a46098b
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/LabelColor.as
@@ -0,0 +1,24 @@
+package google.maps.weather {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class LabelColor {
+
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const WHITE:String = '2';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const BLACK:String = '1';
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/TemperatureUnit.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/TemperatureUnit.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/TemperatureUnit.as
new file mode 100644
index 0000000..f7a49e1
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/TemperatureUnit.as
@@ -0,0 +1,24 @@
+package google.maps.weather {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class TemperatureUnit {
+
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const CELSIUS:String = '1';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const FAHRENHEIT:String = '2';
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/WeatherLayer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/WeatherLayer.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/WeatherLayer.as
new file mode 100644
index 0000000..b76c968
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/WeatherLayer.as
@@ -0,0 +1,40 @@
+package google.maps.weather {
+
+import google.maps.Map;
+import google.maps.MVCObject;
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor extends google.maps.MVCObject */
+public class WeatherLayer extends google.maps.MVCObject {
+
+    /**
+     * @param opt_opts [(Object<?,string>|google.maps.weather.WeatherLayerOptions|null|undefined)] 
+     * @see [google_maps_api_v3_11]
+     */
+    public function WeatherLayer(opt_opts:Object = null) {
+        super();
+    }
+
+    /**
+     * @param options [(Object<?,string>|google.maps.weather.WeatherLayerOptions|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setOptions(options:Object):Object /* undefined */ {  return null; }
+
+    /**
+     * @param map [(google.maps.Map|null)] 
+     * @see [google_maps_api_v3_11]
+     * @returns {undefined} 
+     */
+    public function setMap(map:google.maps.Map):Object /* undefined */ {  return null; }
+
+    /**
+     * @see [google_maps_api_v3_11]
+     * @returns {(google.maps.Map|null)} 
+     */
+    public function getMap():google.maps.Map {  return null; }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/WindSpeedUnit.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/WindSpeedUnit.as b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/WindSpeedUnit.as
new file mode 100644
index 0000000..a4aaaab
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/google/maps/weather/WindSpeedUnit.as
@@ -0,0 +1,31 @@
+package google.maps.weather {
+
+/**
+ * @see [google_maps_api_v3_11]
+ * @constructor  */
+public class WindSpeedUnit {
+
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const METERS_PER_SECOND:String = '2';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const KILOMETERS_PER_HOUR:String = '1';
+
+    /**
+     * Generated doc for missing field JSDoc.
+     *
+     * @see [google_maps_api_v3_11]
+     */
+    public static const MILES_PER_HOUR:String = '3';
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/GoogleMap.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/GoogleMap.as b/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/GoogleMap.as
new file mode 100644
index 0000000..a4e0fcb
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/GoogleMap.as
@@ -0,0 +1,133 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.maps.google
+{
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.ValuesManager;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.maps.google.beads.GoogleMapView;
+	import org.apache.flex.maps.google.models.MapModel;
+
+	import google.maps.LatLng;
+	import google.maps.Marker;
+
+	[Event(name="ready", type="org.apache.flex.events.Event")]
+	[Event(name="centered", type="org.apache.flex.events.Event")]
+	[Event(name="boundsChanged", type="org.apache.flex.events.Event")]
+	[Event(name="zoomChanged", type="org.apache.flex.events.Event")]
+	[Event(name="dragEnd", type="org.apache.flex.events.Event")]
+	[Event(name="searchResult", type="org.apache.flex.events.Event")]
+	[Event(name="markerClicked", type="org.apache.flex.events.MouseEvent")]
+
+	/**
+	 *  The Map class displays a Google Map centered on lat/lng coordinates. The Map uses
+	 *  the following bead type:
+	 *
+	 *  org.apache.flex.maps.beads.MapView: Uses HTMLLoader to display the map.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 *  @flexjsignoreimport goog.bind
+	 *  @flexjsignoreimport google.maps.event
+	 */
+	public class GoogleMap extends UIBase
+	{
+
+		public function GoogleMap()
+		{
+			super();
+
+			className = "Map";
+
+			var model:IBeadModel = getBeadByType(IBeadModel) as IBeadModel;
+			if (model == null) {
+				model = new MapModel();
+				addBead(model);
+			}
+		}
+
+		public function get token():String
+		{
+			return MapModel(model).token;
+		}
+		public function set token(value:String):void
+		{
+			MapModel(model).token = value;
+		}
+
+		public function get selectedMarker():Marker
+		{
+			return MapModel(model).selectedMarker;
+		}
+
+		public function get searchResults():Array
+		{
+			return MapModel(model).searchResults;
+		}
+
+		public function loadMap( centerLat:Number, centerLong:Number, zoom:Number ) : void
+		{
+			GoogleMapView(view).mapit(centerLat, centerLong, zoom);
+		}
+
+		public function setZoom(zoomLevel:Number):void
+		{
+			MapModel(model).zoom = zoomLevel;
+		}
+
+		public function centerOnAddress(address:String):void
+		{
+			GoogleMapView(view).centerOnAddress(address);
+		}
+
+		public function setCenter(location:LatLng):void
+		{
+			GoogleMapView(view).setCenter(location);
+		}
+
+		public function markCurrentLocation():void
+		{
+			GoogleMapView(view).markCurrentLocation();
+		}
+
+		public function markAddress(address:String):void
+		{
+			GoogleMapView(view).markAddress(address);
+		}
+
+		public function createMarker(location:LatLng):Marker
+		{
+			return GoogleMapView(view).createMarker(location);
+		}
+
+		public function nearbySearch(placeName:String):void
+		{
+			GoogleMapView(view).nearbySearch(placeName);
+		}
+
+		public function clearSearchResults():void
+		{
+			GoogleMapView(view).clearSearchResults();
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1d75577b/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as b/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as
new file mode 100644
index 0000000..304c984
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as
@@ -0,0 +1,866 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.maps.google.beads
+{
+	COMPILE::AS3 {
+		import flash.events.Event;
+		import flash.net.URLRequest;
+		import flash.filesystem.File;
+		import flash.filesystem.FileMode;
+		import flash.filesystem.FileStream;
+		
+		import org.apache.flex.utils.HTMLLoader;
+	}
+
+    import org.apache.flex.core.BeadViewBase;
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.core.UIBase;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.maps.google.GoogleMap;
+	import org.apache.flex.maps.google.models.MapModel;
+
+	COMPILE::JS {
+		import goog.bind;
+	}
+
+	import google.maps.event;
+	import google.maps.Geocoder;
+	import google.maps.GeocoderResult;
+	import google.maps.GeocoderStatus;
+	import google.maps.LatLng;
+	import google.maps.Map;
+	import google.maps.Marker;
+	import google.maps.places.PlaceResult;
+	import google.maps.places.PlacesService;
+	import google.maps.places.PlacesServiceStatus;
+
+	/**
+	 *  The MapView bead class displays a Google Map using HTMLLoader.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion FlexJS 0.0
+	 */
+	COMPILE::JS
+	public class GoogleMapView extends BeadViewBase implements IBeadView
+	{
+		/**
+		 *  Constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function GoogleMapView()
+		{
+			super();
+		}
+
+		private var realMap:Map;
+		private var geocoder:Geocoder;
+		private var initialized:Boolean = false;
+		private var markers:Array;
+		private var searchResults:Array;
+		private var service:PlacesService;
+
+		private var _strand:IStrand;
+
+		/**
+		 *  @copy org.apache.flex.core.IBead#strand
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+			_strand = value;
+
+			var token:String = (_strand as GoogleMap).token;
+			var src:String = 'https://maps.googleapis.com/maps/api/js?v=3.exp';
+			if (token)
+				src += '&key=' + token;
+			src += '&libraries=geometry,places&callback=mapInit';
+
+			var script:HTMLScriptElement = document.createElement('script') as HTMLScriptElement;
+			script.type = 'text/javascript';
+			script.src = src;
+
+			window['mapView'] = this;
+			window['mapInit'] = function():void {
+				(this['mapView'] as GoogleMapView).finishInitialization();
+			}
+
+			document.head.appendChild(script);
+		}
+
+		/**
+		 *  Adjusts the map to the given coordinate and zoom level.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function mapit( centerLat:Number, centerLng:Number, zoom:Number ):void
+		{
+			if (!initialized) {
+				var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+				model.currentCenter = new LatLng(centerLat, centerLng);
+				model.zoom = zoom;
+				var mapOptions:Object = new Object();
+				mapOptions['center'] = model.currentCenter;
+				mapOptions['zoom'] = zoom;
+
+				realMap = new Map((_strand as UIBase).element, mapOptions);
+				geocoder = null;
+
+			    model.addEventListener("zoomChanged", handleModelChange);
+
+				google.maps.event.addListener(realMap, 'center_changed', goog.bind(centerChangeHandler, this));
+				google.maps.event.addListener(realMap, 'bounds_changed', goog.bind(boundsChangeHandler, this));
+				google.maps.event.addListener(realMap, 'zoom_changed',   goog.bind(zoomChangeHandler,   this));
+			}
+		}
+
+		/**
+		 * @private
+		 */
+		private function finishInitialization():void
+		{
+			mapit(37.333, -121.900, 12);
+			initialized = true;
+			dispatchEvent(new Event('ready'));
+		}
+
+		/**
+		 * Centers the map on the address given.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function centerOnAddress(value:String):void
+		{
+			if (geocoder == null) geocoder = new Geocoder();
+			geocoder.geocode({address:value}, positionHandler);
+		}
+
+		/**
+		 * Sets the center of the map.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function setCenter(location:LatLng):void
+		{
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			model.currentCenter = new LatLng(location.lat(), location.lng());
+			realMap.setCenter(model.currentCenter);
+		}
+
+		/**
+		 * Marks the current center of the map.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function markCurrentLocation():void
+		{
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			createMarker(model.currentCenter as LatLng);
+		}
+
+		/**
+		 *  Finds the given address and places a marker on it. This function may be dropped
+		 *  since centerOnAddress + markCurrentLocation does the same thing.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function markAddress(address:String):void
+		{
+			if (initialized) {
+				if (geocoder == null) geocoder = new Geocoder();
+				geocoder.geocode({address:address}, geocodeHandler);
+			}
+		}
+
+		/**
+		 * Creates a marker for placement on the map.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 *  @flexjsignorecoercion google.maps.Marker
+		 */
+		public function createMarker(location:LatLng):Marker
+		{
+			var marker:Marker = new Marker({map:realMap, position:location});
+		//	google.maps.event.addListener(marker, 'click', goog.bind(markerClicked, this));
+		    marker.addListener('click', markerClicked);
+
+			return marker;
+		}
+
+		/**
+		 * Performs a search near the center of map. The result is a set of
+		 * markers displayed on the map.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function nearbySearch(placeName:String):void
+		{
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+
+			if (markers == null) markers = [];
+			service = new PlacesService(realMap);
+			service.nearbySearch({location:model.currentCenter, radius:5000, name:placeName}, searchResultsHandler);
+		}
+
+		/**
+		 * Clears the previous search results.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function clearSearchResults():void
+		{
+			if (markers) {
+				for(var i:int=0; i < markers.length; i++) {
+					var m:Marker = markers[i] as Marker;
+					m.setMap(null);
+				}
+				markers = null;
+			}
+		}
+
+		// Callbacks
+
+		/**
+		 * @private
+		 */
+		public function centerChangeHandler() : void
+		{
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			model.currentCenter = realMap.getCenter();
+
+			var newEvent:Event = new Event('centered');
+			(_strand as IEventDispatcher).dispatchEvent(newEvent);
+		}
+
+		/**
+		 * @private
+		 */
+		public function boundsChangeHandler():void
+		{
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			model.currentCenter = realMap.getCenter();
+
+			var newEvent:Event = new Event('boundsChanged');
+			(_strand as IEventDispatcher).dispatchEvent(newEvent);
+		}
+
+		/**
+		 * @private
+		 */
+		public function zoomChangeHandler():void
+		{
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			model.currentCenter = realMap.getCenter();
+
+			var newEvent:Event = new Event('zoomChanged');
+			(_strand as IEventDispatcher).dispatchEvent(newEvent);
+		}
+
+		/**
+		 * @private
+		 */
+		public function positionHandler(results:Array, status:String):void
+		{
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			if (status == GeocoderStatus.OK) {
+				model.currentCenter = results[0].geometry.location;
+				realMap.setCenter(model.currentCenter);
+
+				// dispatch an event to indicate the map has been centered
+			}
+		}
+
+		/**
+		 * @flexjsignorecoercion google.maps.Marker
+		 * @flexjsignorecoercion google.maps.LatLng
+		 */
+		public function geocodeHandler(results:Array, status:String):void
+		{
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			if (status == GeocoderStatus.OK) {
+				model.currentCenter = results[0].geometry.location;
+				realMap.setCenter(model.currentCenter);
+
+				var marker:Marker = new Marker({map:realMap, position:model.currentCenter});
+			}
+		}
+
+		/**
+		 * @private
+		 */
+		public function searchResultsHandler(results:Array, status:String):void
+		{
+			searchResults = [];
+			if (status == PlacesServiceStatus.OK) {
+				for(var i:int=0; i < results.length; i++) {
+					/*var place:PlaceResult = new PlaceResult();
+					place.geometry.location = new LatLng(results[i].geometry.location.lat(), results[i].geometry.location.lng());
+					place.icon = results[i].icon;
+					place.id = results[i].id;
+					place.name = results[i].name;
+					place.reference = results[i].reference;
+					place.vicinity = results[i].vicinity;*/
+					var place:Object = results[i];
+					searchResults.push(place);
+
+					var marker:Marker = createMarker(place.geometry.location);
+					marker.setTitle(place.name);
+
+					markers.push(marker);
+				}
+				var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+				model.searchResults = searchResults;
+			}
+		}
+
+		// Event handlers
+
+		/**
+		 * Handles changes to properties of the MapModel. When this value is
+		 * changed, the map itself has its zoom changed. This will trigger an
+		 * event on the map that will be handled by functions above.
+		 */
+		public function handleModelChange(event:Event):void
+		{
+			if (event.type == "zoomChanged") {
+				var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+				realMap.setZoom(model.zoom);
+			}
+		}
+
+		/**
+		 * @flexjsignorecoercion google.maps.Marker
+		 * @flexjsignorecoercion google.maps.LatLng
+		 */
+		public function markerClicked(marker:Marker):void
+		{
+			var newMarker:Marker = new Marker({
+				position: marker["latLng"],
+				title: marker["title"],
+				map: realMap
+			});
+
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			model.selectedMarker = newMarker;
+
+			var newEvent:Event = new Event('markerClicked');
+			IEventDispatcher(_strand).dispatchEvent(newEvent);
+		}
+
+	} // end ::JS
+
+
+
+	/**
+	 * The AS3 version of GoogleMapView is geared toward its use with HTMLLoader
+	 * for AIR.
+	 */
+	COMPILE::AS3
+	public class GoogleMapView extends BeadViewBase implements IBeadView
+	{
+		/**
+		 *  Constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function GoogleMapView()
+		{
+			super();
+		}
+
+		private var _loader:HTMLLoader;
+		private var page:String;
+
+		/**
+		 *  @copy org.apache.flex.core.IBead#strand
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		override public function set strand(value:IStrand):void
+		{
+			super.strand = value;
+
+			_loader = new HTMLLoader();
+			_loader.x = 0;
+			_loader.y = 0;
+			_loader.width = UIBase(value).width;
+			_loader.height = UIBase(value).height;
+			_loader.placeLoadStringContentInApplicationSandbox = false;
+
+			IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
+			IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);
+
+			var model:IBeadModel = _strand.getBeadByType(IBeadModel) as IBeadModel;
+			model.addEventListener("zoomChanged", handleZoomChange);
+			model.addEventListener("currentLocationChanged", handleCurrentLocationChange);
+
+			(_strand as UIBase).addChild(_loader);
+
+			var token:String = GoogleMap(_strand).token;
+			if (token)
+				page = pageTemplateStart + "&key=" + token + pageTemplateEnd;
+			else
+				page = pageTemplateStart + pageTemplateEnd;
+			
+			var pathToFile:String;
+			
+			if (page) {
+				pathToFile = File.applicationDirectory.resolvePath('flexjs_mapapi.html').nativePath;
+				var someFile:File = new File(pathToFile);
+				var writeStream:FileStream = new FileStream();
+				writeStream.open(someFile, FileMode.WRITE);
+				writeStream.writeUTFBytes(page);
+				writeStream.close();
+			}
+			
+			_loader.load(new URLRequest("file://"+pathToFile));
+			_loader.addEventListener(flash.events.Event.COMPLETE, completeHandler);
+		}
+
+		private function completeHandler(event:flash.events.Event):void
+		{
+			if (_loader && page) {
+				_loader.window.map.center_changed = onMapCentered;
+				_loader.window.map.bounds_changed = onMapBoundsChanged;
+				_loader.window.map.zoom_changed   = onMapZoomChanged;
+				_loader.window.map.dragend        = onMapDragEnd;
+				_loader.window.map.draggable      = true;
+
+				// custom event handlers
+				_loader.window.addEventListener("searchResults",onSearchResults);
+				_loader.window.addEventListener("markerClicked",onMarkerClicked);
+			}
+
+			IEventDispatcher(_strand).dispatchEvent(new org.apache.flex.events.Event("ready"));
+		}
+
+		private function handleZoomChange(event:org.apache.flex.events.Event):void
+		{
+			if (_loader && page) {
+				var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+				setZoom(model.zoom);
+			}
+		}
+
+		private function handleCurrentLocationChange(event:org.apache.flex.events.Event):void
+		{
+			if (_loader && page) {
+				var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+				setCenter(model.currentCenter);
+			}
+		}
+
+		/**
+		 * @private
+		 */
+		private function handleSizeChange(event:org.apache.flex.events.Event):void
+		{
+			_loader.width = UIBase(_strand).width;
+			_loader.height = UIBase(_strand).height;
+		}
+
+		/**
+		 * @private
+		 */
+		private function onMapCentered():void
+		{
+			IEventDispatcher(_strand).dispatchEvent( new org.apache.flex.events.Event("centered") );
+		}
+
+		/**
+		 * @private
+		 */
+		private function onMapBoundsChanged():void
+		{
+			IEventDispatcher(_strand).dispatchEvent( new org.apache.flex.events.Event("boundsChanged") );
+		}
+
+		/**
+		 * @private
+		 */
+		private function onMapZoomChanged():void
+		{
+			IEventDispatcher(_strand).dispatchEvent( new org.apache.flex.events.Event("zoomChanged") );
+		}
+
+		/**
+		 * @private
+		 */
+		private function onMapDragEnd():void
+		{
+			IEventDispatcher(_strand).dispatchEvent( new org.apache.flex.events.Event("dragEnd") );
+		}
+
+		/**
+		 * @private
+		 */
+		private function onSearchResults(event:*):void
+		{
+			var results:Array = [];
+			for(var i:int=0; i < event.results.length; i++) {
+				var place:Object = event.results[i];
+				results.push(place);
+			}
+
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			model.searchResults = results;
+		}
+
+		/**
+		 * @private
+		 */
+		private function onMarkerClicked(event:*):void
+		{
+			var marker:Marker = new Marker({
+				position: event.marker.getPosition(),
+				title: event.marker.getTitle(),
+				map: event.marker.getMap()
+			});
+
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			model.selectedMarker = marker;
+
+			IEventDispatcher(_strand).dispatchEvent(new org.apache.flex.events.Event("markerClicked"));
+		}
+
+		/**
+		 *  Adjusts the map to the given coordinate and zoom level.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function mapit(lat:Number, lng:Number, zoomLevel:Number):void
+		{
+			if (_loader && page) {
+				_loader.window.mapit(lat, lng, zoomLevel);
+			}
+		}
+
+		/**
+		 *  Finds the given address and places a marker on it. This function may be dropped
+		 *  since centerOnAddress + markCurrentLocation does the same thing.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function markAddress(address:String):void
+		{
+			if (_loader && page) {
+				_loader.window.codeaddress(address);
+			}
+		}
+
+		/**
+		 * Centers the map on the address given.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function centerOnAddress(address:String):void
+		{
+			if (_loader && page) {
+				_loader.window.centeronaddress(address);
+			}
+		}
+
+		/**
+		 * Marks the current center of the map.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function markCurrentLocation():void
+		{
+			if (_loader && page) {
+				_loader.window.markcurrentlocation();
+			}
+		}
+
+		/**
+		 * Performs a search near the center of map. The result is a set of
+		 * markers displayed on the map.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function nearbySearch(placeName:String):void
+		{
+			if (_loader && page) {
+				_loader.window.nearbysearch(placeName);
+			}
+		}
+
+		/**
+		 * Creates a marker for placement on the map.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function createMarker(location:LatLng):Marker
+		{
+			return null;
+		}
+
+		/**
+		 * Removes all of the markers from the map
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function removeAllMarkers():void
+		{
+			if (_loader && page) {
+				_loader.window.clearmarkers();
+			}
+		}
+
+		/**
+		 * Sets the zoom factor of the map.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function setZoom(zoom:Number):void
+		{
+			if (_loader && page) {
+				_loader.window.map.setZoom(zoom);
+			}
+		}
+
+		/**
+		 * Sets the center of the map.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function setCenter( location:LatLng ):void
+		{
+			if (_loader && page) {
+				_loader.window.setCenter(location.lat, location.lng);
+			}
+		}
+
+		/**
+		 * Clears the previous search results.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function clearSearchResults():void
+		{
+			// not implemented
+		}
+
+		/**
+		 * @private
+		 * This page definition is used with HTMLLoader to bring in the Google Maps
+		 * API (a Google APP token is required).
+		 */
+		private static var pageTemplateStart:String = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\n'+
+			'<html>\n'+
+			'  <head>\n'+
+			'    <style type="text/css">\n'+
+			'      html { height: 100%; }\n'+
+			'      body { height: 100%; margin: 0; padding: 0; background-color: #FFFFCC; }\n'+
+			'      #map-canvas { height: 100% }\n'+
+			'    </style>\n'+
+			'    <script type="text/javascript"'+
+			'      src="https://maps.googleapis.com/maps/api/js?v=3.exp';
+
+		private static var pageTemplateEnd:String = '&libraries=places">'+
+			'    </script>\n'+
+			'    <script type="text/javascript">\n'+
+			'      var map;'+
+			'      var geocoder;'+
+			'      var currentCenter;' +
+			'      var service;' +
+			'      var places;' +
+			'      var markers;'+
+			'      function mapit(lat, lng, zoomLevel) {' +
+			'        currentCenter = new google.maps.LatLng(lat, lng);'+
+			'        if (map == null) {' +
+			'            var mapOptions = {'+
+			'              center: currentCenter,'+
+			'              zoom: zoomLevel'+
+			'            };'+
+			'            map = new google.maps.Map(document.getElementById("map-canvas"),'+
+			'              mapOptions);' +
+			'        }' +
+			'        google.maps.event.addListener(map, "center_changed", function() {' +
+			'            currentCenter = map.getCenter();' +
+			'        });' +
+			'        google.maps.event.addListener(map, "bounds_changed", function() {' +
+			'            currentCenter = map.getCenter();' +
+			'        });' +
+			'        map.setCenter(currentCenter);'+
+			'      };' +
+			'      function setCenter(lat, lng) {' +
+			'          currentCenter = new google.maps.LatLng(lat,lng);' +
+			'          map.setCenter(currentCenter);' +
+			'      };'+
+			'      function codeaddress(address) {'+
+			'        if (!geocoder) geocoder = new google.maps.Geocoder();'+
+		    '        geocoder.geocode( { "address": address}, function(results, status) {'+
+			'           if (status == google.maps.GeocoderStatus.OK) {'+
+			'             currentCenter = results[0].geometry.location;'+
+			'             map.setCenter(currentCenter);'+
+			'             var marker = new google.maps.Marker({'+
+			'                map: map,'+
+			'                position: currentCenter,'+
+			'            });'+
+			'            } else {'+
+			'                alert("Geocode was not successful for the following reason: " + status);'+
+			'            }'+
+			'        });'+
+		    '      };'+
+			'      function centeronaddress(address) {'+
+			'        if (!geocoder) geocoder = new google.maps.Geocoder();'+
+			'        geocoder.geocode( { "address": address}, function(results, status) {'+
+			'          if (status == google.maps.GeocoderStatus.OK) {'+
+			'             currentCenter = results[0].geometry.location;'+
+			'             map.setCenter(currentCenter);' +
+			'          } else {'+
+			'                alert("Geocode was not successful for the following reason: " + status);'+
+			'          }'+
+			'        });'+
+			'      };'+
+			'      function markcurrentlocation() {'+
+			'         createMarker(currentCenter);'+
+			'      };' +
+			'      function createMarker(location) {' +
+			'         var marker = new google.maps.Marker({'+
+			'            map: map,'+
+			'            position: location,'+
+			'         });' +
+			'         google.maps.event.addListener(marker, "click", function() {' +
+			'             markerClicked(marker);' +
+			'         });'+
+			'         return marker;'+
+			'      };' +
+			'      function clearmarkers() {' +
+			'        if (markers) {' +
+			'          for(var i=0; i < markers.length; i++) {' +
+			'             markers[i].setMap(null);' +
+			'          }' +
+			'          markers = null;' +
+			'        }' +
+			'      };'+
+			'      function nearbysearch(placename) {' +
+			'         if (markers == null) markers = [];' +
+			'         service = new google.maps.places.PlacesService(map);'+
+		    '         service.nearbySearch({"location": currentCenter,' +
+			'           "radius": 5000,' +
+			'           "name": placename}, function(results, status) {' +
+			'              places = results;' +
+			'              if (status == google.maps.places.PlacesServiceStatus.OK) {' +
+			'                 for(var i=0; i < results.length; i++) {' +
+			'                    var place = results[i];' +
+			'                    var marker = createMarker(place.geometry.location);' +
+			'                    marker.title = place.name;' +
+			'                    markers.push(marker);' +
+			'                 }' +
+			'                 var event = document.createEvent("Event");' +
+			'                 event.results = places;'+
+            '                 event.initEvent("searchResults", true, true);' +
+			'                 window.dispatchEvent(event);' +
+			'              }' +
+			'          });'+
+			'      };' +
+			'      function markerClicked(marker) {' +
+			'         var newEvent = document.createEvent("Event");' +
+			'         newEvent.marker = marker;' +
+			'         newEvent.initEvent("markerClicked", true, true);' +
+			'         window.dispatchEvent(newEvent);' +
+			'      };'+
+			'      function initialize() {'+
+			'        mapit(37.333, -121.900, 12);'+
+			'      };'+
+			'      google.maps.event.addDomListener(window, "load", initialize);'+
+			'    </script>\n'+
+			'  </head>\n'+
+			'  <body>\n'+
+			'    <div id="map-canvas"></div>\n'+
+			'  </body>\n'+
+			'</html>';
+	} // end ::AS3
+
+}


Mime
View raw message