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 + +}
