flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aha...@apache.org
Subject [43/55] [abbrv] git commit: [flex-asjs] [refs/heads/develop] - Competed back-port of GoogleMaps.
Date Thu, 17 Dec 2015 07:54:53 GMT
Competed back-port of GoogleMaps.


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/325df7b0
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/325df7b0
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/325df7b0

Branch: refs/heads/develop
Commit: 325df7b0f40c015374e4bd29824d9db751d9d2e7
Parents: c3c2403
Author: Peter Ent <pent@apache.org>
Authored: Wed Dec 16 10:30:29 2015 -0500
Committer: Peter Ent <pent@apache.org>
Committed: Wed Dec 16 10:30:29 2015 -0500

----------------------------------------------------------------------
 .../flexjs/MapSearch/src/MyInitialView.mxml     |   4 +-
 frameworks/projects/GoogleMaps/as/defaults.css  |   2 +-
 .../org/apache/flex/maps/google/GoogleMap.as    |  10 +-
 .../flex/maps/google/beads/GoogleMapView.as     | 235 +++++----
 .../apache/flex/maps/google/beads/MapView.as    | 515 -------------------
 .../flex/maps/google/beads/MapView_original.as  | 515 +++++++++++++++++++
 .../apache/flex/maps/google/models/MapModel.as  |  60 +--
 .../projects/GoogleMaps/google-manifest.xml     |   2 +-
 8 files changed, 672 insertions(+), 671 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/325df7b0/examples/flexjs/MapSearch/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MapSearch/src/MyInitialView.mxml b/examples/flexjs/MapSearch/src/MyInitialView.mxml
index bf302fa..0269c58 100644
--- a/examples/flexjs/MapSearch/src/MyInitialView.mxml
+++ b/examples/flexjs/MapSearch/src/MyInitialView.mxml
@@ -112,7 +112,7 @@ limitations under the License.
 			 */
 			private function onMarkerClicked(event:org.apache.flex.events.Event):void
 			{
-				var marker:Marker = map.selectedMarker;
+				var marker:Marker = map.selectedMarker as Marker;
 				map.setZoom(12);
 				map.setCenter(marker.getPosition());
 			}
@@ -182,7 +182,7 @@ limitations under the License.
 								dataProvider="{MyModel(applicationModel).cities}" />
 		</js:Container>
 		
-		<google:GoogleMap id="map" width="450" height="300" className="MainMap"
+		<google:Map id="map" width="450" height="300" className="MainMap"
 				   token="AIzaSyDkQgg2iojLCYeuW6hK7DkuAHD-SwJJhdE" 
 				   ready="onMapReady()"/>
 		

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/325df7b0/frameworks/projects/GoogleMaps/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/as/defaults.css b/frameworks/projects/GoogleMaps/as/defaults.css
index 260517a..214e84f 100644
--- a/frameworks/projects/GoogleMaps/as/defaults.css
+++ b/frameworks/projects/GoogleMaps/as/defaults.css
@@ -19,7 +19,7 @@
 
 @namespace g "library://ns.apache.org/flexjs/google";
 
-g|GoogleMap
+g|Map
 {
     IBeadView: ClassReference("org.apache.flex.maps.google.beads.GoogleMapView");
 	IBeadModel: ClassReference("org.apache.flex.maps.google.models.MapModel");

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/325df7b0/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/GoogleMap.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/GoogleMap.as b/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/GoogleMap.as
index 64ae26b..e662e41 100644
--- a/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/GoogleMap.as
+++ b/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/GoogleMap.as
@@ -26,11 +26,8 @@ package org.apache.flex.maps.google
 	import org.apache.flex.maps.google.beads.GoogleMapView;
 	import org.apache.flex.maps.google.models.MapModel;
 
-	COMPILE::JS {
-		import google.maps.LatLng;
-		import google.maps.Marker;
-		import org.apache.flex.core.WrappedHTMLElement;
-	}
+	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")]
@@ -77,7 +74,6 @@ package org.apache.flex.maps.google
 			MapModel(model).token = value;
 		}
 
-		COMPILE::JS
 		public function get selectedMarker():Marker
 		{
 			return MapModel(model).selectedMarker;
@@ -103,7 +99,6 @@ package org.apache.flex.maps.google
 			GoogleMapView(view).centerOnAddress(address);
 		}
 
-		COMPILE::JS
 		public function setCenter(location:LatLng):void
 		{
 			GoogleMapView(view).setCenter(location);
@@ -119,7 +114,6 @@ package org.apache.flex.maps.google
 			GoogleMapView(view).markAddress(address);
 		}
 
-		COMPILE::JS
 		public function createMarker(location:LatLng):Marker
 		{
 			return GoogleMapView(view).createMarker(location);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/325df7b0/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/GoogleMapView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/GoogleMapView.as b/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/GoogleMapView.as
index 61c31e3..f8fb790 100644
--- a/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/GoogleMapView.as
+++ b/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/GoogleMapView.as
@@ -23,7 +23,7 @@ package org.apache.flex.maps.google.beads
 		import flash.html.HTMLLoader;
 		import flash.net.URLRequest;
 	}
-	
+
     import org.apache.flex.core.BeadViewBase;
 	import org.apache.flex.core.IBeadModel;
 	import org.apache.flex.core.IBeadView;
@@ -33,24 +33,25 @@ package org.apache.flex.maps.google.beads
 	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;
 	}
-	
+
+	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
@@ -63,42 +64,39 @@ package org.apache.flex.maps.google.beads
 		{
 			super();
 		}
-		
-		private var map:Map;
+
+		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;
-				
+
 		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=places&sensor=false&callback=mapInit';
-			
+			src += '&libraries=geometry,places&sensor=false&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);
-			
-			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
-			model.addEventListener("zoomChanged", handleModelChange);
 		}
-		
+
 		public function mapit( centerLat:Number, centerLng:Number, zoom:Number ):void
 		{
 			if (!initialized) {
@@ -108,42 +106,44 @@ package org.apache.flex.maps.google.beads
 				var mapOptions:Object = new Object();
 				mapOptions['center'] = model.currentCenter;
 				mapOptions['zoom'] = zoom;
-				
-				map = new Map((_strand as UIBase).element, mapOptions);
+
+				realMap = new Map((_strand as UIBase).element, mapOptions);
 				geocoder = null;
-				
-				google.maps.event.addListener(map, 'center_changed', goog.bind(centerChangeHandler, this));
-				google.maps.event.addListener(map, 'bounds_changed', goog.bind(boundsChangeHandler, this));
-				google.maps.event.addListener(map, 'zoom_changed',   goog.bind(zoomChangeHandler,   this));
+
+			    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 function finishInitialization():void
 		{
 			mapit(37.333, -121.900, 12);
 			initialized = true;
 			dispatchEvent(new Event('ready'));
 		}
-		
+
 		public function centerOnAddress(value:String):void
 		{
 			if (geocoder == null) geocoder = new Geocoder();
 			geocoder.geocode({address:value}, positionHandler);
 		}
-		
+
 		public function setCenter(location:LatLng):void
 		{
 			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
 			model.currentCenter = new LatLng(location.lat(), location.lng());
-			map.setCenter(model.currentCenter as LatLng);
+			realMap.setCenter(model.currentCenter as LatLng);
 		}
-		
+
 		public function markCurrentLocation():void
 		{
 			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
 			createMarker(model.currentCenter as LatLng);
 		}
-		
+
 		public function markAddress(address:String):void
 		{
 			if (initialized) {
@@ -151,23 +151,23 @@ package org.apache.flex.maps.google.beads
 				geocoder.geocode({address:address}, geocodeHandler);
 			}
 		}
-		
+
 		public function createMarker(location:LatLng):Marker
 		{
-			var marker:Marker = new Marker({map:map, position:location});
+			var marker:Marker = new Marker({map:realMap, position:location});
 			google.maps.event.addListener(marker, 'click', goog.bind(markerClicked, this));
 			return marker;
 		}
-		
+
 		public function nearbySearch(placeName:String):void
 		{
 			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
-			
+
 			if (markers == null) markers = [];
-			service = new PlacesService(map);
+			service = new PlacesService(realMap);
 			service.nearbySearch({location:model.currentCenter, radius:5000, name:placeName}, searchResultsHandler);
 		}
-		
+
 		public function clearSearchResults():void
 		{
 			if (markers) {
@@ -178,84 +178,85 @@ package org.apache.flex.maps.google.beads
 				markers = null;
 			}
 		}
-		
+
 		// Callbacks
-		
+
 		public function centerChangeHandler() : void
 		{
 			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
-			model.currentCenter = map.getCenter();
-			
+			model.currentCenter = realMap.getCenter();
+
 			var newEvent:Event = new Event('centered');
 			(_strand as IEventDispatcher).dispatchEvent(newEvent);
 		}
-		
+
 		public function boundsChangeHandler():void
 		{
 			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
-			model.currentCenter = map.getCenter();
-			
+			model.currentCenter = realMap.getCenter();
+
 			var newEvent:Event = new Event('boundsChanged');
 			(_strand as IEventDispatcher).dispatchEvent(newEvent);
 		}
-		
+
 		public function zoomChangeHandler():void
 		{
 			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
-			model.currentCenter = map.getCenter();
-			
+			model.currentCenter = realMap.getCenter();
+
 			var newEvent:Event = new Event('zoomChanged');
 			(_strand as IEventDispatcher).dispatchEvent(newEvent);
 		}
-		
-		public function positionHandler(results, status):void
+
+		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;
-				map.setCenter(model.currentCenter as LatLng);
-				
+				realMap.setCenter(model.currentCenter as LatLng);
+
 				// dispatch an event to indicate the map has been centered
 			}
 		}
-		
-		public function geocodeHandler(results, status):void
+
+		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;
-				map.setCenter(model.currentCenter as LatLng);
-				
-				var marker:Marker = new Marker({map:map, position:model.currentCenter});
+				realMap.setCenter(model.currentCenter as LatLng);
+
+				var marker:Marker = new Marker({map:realMap, position:model.currentCenter});
 			}
 		}
-		
-		public function searchResultsHandler(results, status):void
+
+		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();
+					/*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;
+					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
@@ -265,26 +266,27 @@ package org.apache.flex.maps.google.beads
 		{
 			if (event.type == "zoomChanged") {
 				var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
-				map.setZoom(model.zoom);
+				realMap.setZoom(model.zoom);
 			}
 		}
-		
+
 		public function markerClicked(marker:Marker, event:Object):void
 		{
 			var newMarker:Marker = new Marker();
-			newMarker.setPosition(new LatLng(marker.getPosition().lat(), marker.getPosition().lng()));
+			var pos:LatLng = marker.getPosition();
+			newMarker.setPosition(pos);
 			newMarker.setTitle(marker.getTitle());
-			newMarker.setMap(map);
-			
+			newMarker.setMap(realMap);
+
 			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
 			model.selectedMarker = newMarker;
-			
+
 			var newEvent:Event = new Event('markerClicked');
 			dispatchEvent(newEvent);
 		}
-		
+
 	} // end ::JS
-	
+
 	/**
 	 * The AS3 version of GoogleMapView is geared toward its use with HTMLLoader
 	 * for AIR.
@@ -304,12 +306,12 @@ package org.apache.flex.maps.google.beads
 		{
 			super();
 		}
-		
+
 		private var _loader:HTMLLoader;
-		
+
 		/**
 		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -319,10 +321,10 @@ package org.apache.flex.maps.google.beads
 		{
 			super.strand = value;
 		}
-		
+
 		/**
 		 *  Adjusts the map to the given coordinate and zoom level.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -332,11 +334,11 @@ package org.apache.flex.maps.google.beads
 		{
 
 		}
-		
+
 		/**
 		 *  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
@@ -344,12 +346,12 @@ package org.apache.flex.maps.google.beads
 		 */
 		public function markAddress(address:String):void
 		{
-			
+
 		}
-		
+
 		/**
 		 * Centers the map on the address given.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -357,12 +359,12 @@ package org.apache.flex.maps.google.beads
 		 */
 		public function centerOnAddress(address:String):void
 		{
-			
+
 		}
-		
+
 		/**
 		 * Marks the current center of the map.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -370,13 +372,13 @@ package org.apache.flex.maps.google.beads
 		 */
 		public function markCurrentLocation():void
 		{
-			
+
 		}
-		
+
 		/**
 		 * 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
@@ -384,12 +386,25 @@ package org.apache.flex.maps.google.beads
 		 */
 		public function nearbySearch(placeName:String):void
 		{
-			
+
+		}
+
+		/**
+		 * 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
@@ -397,12 +412,12 @@ package org.apache.flex.maps.google.beads
 		 */
 		public function removeAllMarkers():void
 		{
-			
+
 		}
-		
+
 		/**
 		 * Sets the zoom factor of the map.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -410,26 +425,26 @@ package org.apache.flex.maps.google.beads
 		 */
 		public function setZoom(zoom:Number):void
 		{
-			
+
 		}
-		
+
 		/**
 		 * 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:Object ):void
+		public function setCenter( location:LatLng ):void
 		{
-			
+
 		}
-		
+
 		public function clearSearchResults():void
 		{
 			// not implemented
 		}
 	}
-	
-}
\ No newline at end of file
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/325df7b0/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/MapView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/MapView.as b/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/MapView.as
deleted file mode 100644
index 5cf153f..0000000
--- a/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/MapView.as
+++ /dev/null
@@ -1,515 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-/**
- * NOTE
- *
- * THIS IS THE OLD MapView. The new one is GoogleMapView. This code exists to preserve
- * the AS/HTMLLoader version for use with AIR. Someday we will come back to this and make
- * it work again.
- */
-package org.apache.flex.maps.google.beads
-{
-	COMPILE::AS3 {
-		import flash.events.Event;
-		import flash.html.HTMLLoader;
-		import flash.net.URLRequest;
-	}
-
-    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;
-
-	/**
-	 *  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 MapView extends BeadViewBase implements IBeadView
-	{
-		public function MapView()
-		{
-			super();
-		}
-
-		private var _strand:IStrand;
-
-		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=places&sensor=false&callback=mapInit';
-
-			var script:HTMLScriptElement = document.createElement('script') as HTMLScriptElement;
-			script.type = 'text/javascript';
-			script.src = src;
-
-/**			window.mapView = this;
-			window['mapInit'] = function() {
-				(this.mapView._strand as GoogleMap).finishInitialization();
-			}
-**/
-			document.head.appendChild(script);
-		}
-	}
-
-	COMPILE::AS3
-	public class MapView extends BeadViewBase implements IBeadView
-	{
-		/**
-		 *  Constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function MapView()
-		{
-		}
-
-		private var _loader:HTMLLoader;
-
-		/**
-		 *  @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;
-
-			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 = Map(_strand).token;
-			if (token)
-				page = pageTemplateStart + "&key=" + token + pageTemplateEnd;
-			else
-				page = pageTemplateStart + pageTemplateEnd;
-
-			if (page) {
-				_loader.loadString(page);
-				_loader.addEventListener(flash.events.Event.COMPLETE, completeHandler);
-			}
-		}
-
-		private function completeHandler(event:flash.events.Event):void
-		{
-			trace("htmlLoader complete");
-
-			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;
-
-				// 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.currentLocation.location);
-			}
-		}
-
-		private var page:String;
-
-		/**
-		 *  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 geoCodeAndMarkAddress(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);
-			}
-		}
-
-		/**
-		 * 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);
-			}
-		}
-
-		/**
-		 * @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 result:Place = new Place();
-				result.geometry.location.lat = event.results[i].geometry.location.lat();
-				result.geometry.location.lng = event.results[i].geometry.location.lng();
-				result.icon = event.results[i].icon;
-				result.id = event.results[i].id;
-				result.name = event.results[i].name;
-				result.reference = event.results[i].reference;
-				result.vicinity = event.results[i].vicinity;
-				results.push(result);
-			}
-
-			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
-			model.searchResults = results;
-		}
-
-		/**
-		 * @private
-		 */
-		private function onMarkerClicked(event:*):void
-		{
-			var marker:Marker = new Marker();
-			marker.position.lat = event.marker.position.lat();
-			marker.position.lng = event.marker.position.lng();
-			marker.title = event.marker.title;
-			marker.map = Map(_strand);
-
-			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
-			model.selectedMarker = marker;
-
-			IEventDispatcher(_strand).dispatchEvent(new org.apache.flex.events.Event("markerClicked"));
-		}
-
-		/**
-		 * @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>'+
-			'<html>'+
-			'  <head>'+
-			'    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />'+
-			'    <style type="text/css">'+
-			'      html { height: 100% }'+
-			'      body { height: 100%; margin: 0; padding: 0 }'+
-			'      #map-canvas { height: 100% }'+
-			'    </style>'+
-			'    <script type="text/javascript"'+
-			'      src="https://maps.googleapis.com/maps/api/js?v=3.exp';
-
-		private static var pageTemplateEnd:String = '&libraries=places&sensor=false">'+
-			'    </script>'+
-			'    <script type="text/javascript">'+
-			'      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>'+
-			'  </head>'+
-			'  <body>'+
-			'    <div id="map-canvas"></div>'+
-			'  </body>'+
-			'</html>';
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/325df7b0/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/MapView_original.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/MapView_original.as b/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/MapView_original.as
new file mode 100644
index 0000000..d21314e
--- /dev/null
+++ b/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/beads/MapView_original.as
@@ -0,0 +1,515 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * NOTE
+ *
+ * THIS IS THE OLD MapView. The new one is GoogleMapView. This code exists to preserve
+ * the AS/HTMLLoader version for use with AIR. Someday we will come back to this and make
+ * it work again.
+ */
+package org.apache.flex.maps.google.beads
+{
+	COMPILE::AS3 {
+		import flash.events.Event;
+		import flash.html.HTMLLoader;
+		import flash.net.URLRequest;
+	}
+
+    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;
+
+	/**
+	 *  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 MapView_original extends BeadViewBase implements IBeadView
+	{
+		public function MapView_original()
+		{
+			super();
+		}
+
+		private var _strand:IStrand;
+
+		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=places&sensor=false&callback=mapInit';
+
+			var script:HTMLScriptElement = document.createElement('script') as HTMLScriptElement;
+			script.type = 'text/javascript';
+			script.src = src;
+
+/**			window.mapView = this;
+			window['mapInit'] = function() {
+				(this.mapView._strand as GoogleMap).finishInitialization();
+			}
+**/
+			document.head.appendChild(script);
+		}
+	}
+
+	COMPILE::AS3
+	public class MapView_original extends BeadViewBase implements IBeadView
+	{
+		/**
+		 *  Constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion FlexJS 0.0
+		 */
+		public function MapView_original()
+		{
+		}
+
+		private var _loader:HTMLLoader;
+
+		/**
+		 *  @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;
+
+			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 = Map(_strand).token;
+			if (token)
+				page = pageTemplateStart + "&key=" + token + pageTemplateEnd;
+			else
+				page = pageTemplateStart + pageTemplateEnd;
+
+			if (page) {
+				_loader.loadString(page);
+				_loader.addEventListener(flash.events.Event.COMPLETE, completeHandler);
+			}
+		}
+
+		private function completeHandler(event:flash.events.Event):void
+		{
+			trace("htmlLoader complete");
+
+			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;
+
+				// 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.currentLocation.location);
+			}
+		}
+
+		private var page:String;
+
+		/**
+		 *  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 geoCodeAndMarkAddress(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);
+			}
+		}
+
+		/**
+		 * 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);
+			}
+		}
+
+		/**
+		 * @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 result:Place = new Place();
+				result.geometry.location.lat = event.results[i].geometry.location.lat();
+				result.geometry.location.lng = event.results[i].geometry.location.lng();
+				result.icon = event.results[i].icon;
+				result.id = event.results[i].id;
+				result.name = event.results[i].name;
+				result.reference = event.results[i].reference;
+				result.vicinity = event.results[i].vicinity;
+				results.push(result);
+			}
+
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			model.searchResults = results;
+		}
+
+		/**
+		 * @private
+		 */
+		private function onMarkerClicked(event:*):void
+		{
+			var marker:Marker = new Marker();
+			marker.position.lat = event.marker.position.lat();
+			marker.position.lng = event.marker.position.lng();
+			marker.title = event.marker.title;
+			marker.map = Map(_strand);
+
+			var model:MapModel = _strand.getBeadByType(IBeadModel) as MapModel;
+			model.selectedMarker = marker;
+
+			IEventDispatcher(_strand).dispatchEvent(new org.apache.flex.events.Event("markerClicked"));
+		}
+
+		/**
+		 * @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>'+
+			'<html>'+
+			'  <head>'+
+			'    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />'+
+			'    <style type="text/css">'+
+			'      html { height: 100% }'+
+			'      body { height: 100%; margin: 0; padding: 0 }'+
+			'      #map-canvas { height: 100% }'+
+			'    </style>'+
+			'    <script type="text/javascript"'+
+			'      src="https://maps.googleapis.com/maps/api/js?v=3.exp';
+
+		private static var pageTemplateEnd:String = '&libraries=places&sensor=false">'+
+			'    </script>'+
+			'    <script type="text/javascript">'+
+			'      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>'+
+			'  </head>'+
+			'  <body>'+
+			'    <div id="map-canvas"></div>'+
+			'  </body>'+
+			'</html>';
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/325df7b0/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/models/MapModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/models/MapModel.as b/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/models/MapModel.as
index d988e3b..6184143 100644
--- a/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/models/MapModel.as
+++ b/frameworks/projects/GoogleMaps/as/src/org/apache/flex/maps/google/models/MapModel.as
@@ -22,17 +22,15 @@ package org.apache.flex.maps.google.models
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.EventDispatcher;
-	
-	COMPILE::JS {
-		import google.maps.LatLng;
-		import google.maps.Marker;
-	}
-	
+
+	import google.maps.LatLng;
+	import google.maps.Marker;
+
 	/**
 	 * The data model for the Map class, this holds the maps current center
 	 * location, its current zoom level, the last marker selected, and any
 	 * search results.
-	 *  
+	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
@@ -42,7 +40,7 @@ package org.apache.flex.maps.google.models
 	{
 		/**
 		 * Constructor.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -52,12 +50,12 @@ package org.apache.flex.maps.google.models
 		{
 			super();
 		}
-		
+
 		private var _strand:IStrand;
-		
+
 		/**
 		 *  @copy org.apache.flex.core.IBead#strand
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -67,9 +65,9 @@ package org.apache.flex.maps.google.models
 		{
 			_strand = value;
 		}
-		
+
 		private var _token:String;
-		
+
 		public function get token():String
 		{
 			return _token;
@@ -79,60 +77,54 @@ package org.apache.flex.maps.google.models
 			_token = value;
 			dispatchEvent(new Event("tokenChanged"));
 		}
-		
-		COMPILE::JS
+
 		private var _currentCenter:LatLng;
-		
+
 		/**
 		 * The current center of the map.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		COMPILE::JS
 		public function get currentCenter():LatLng
 		{
 			return _currentCenter;
 		}
-		
-		COMPILE::JS
+
 		public function set currentCenter(value:LatLng):void
 		{
 			_currentCenter = value;
 			dispatchEvent( new Event("currentCenterChanged") );
 		}
-		
-		COMPILE::JS
+
 		private var _selectedMarker:Marker;
-		
+
 		/**
 		 * The last marker selected, if any.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion FlexJS 0.0
 		 */
-		COMPILE::JS
 		public function get selectedMarker():Marker
 		{
 			return _selectedMarker;
 		}
-		
-		COMPILE::JS
+
 		public function set selectedMarker(value:Marker):void
 		{
 			_selectedMarker = value;
 			dispatchEvent( new Event("selectedMarkerChanged") );
 		}
-		
+
 		private var _zoom:Number;
-		
+
 		/**
 		 * The current zoom level.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -149,12 +141,12 @@ package org.apache.flex.maps.google.models
 				dispatchEvent( new Event("zoomChanged") );
 			}
 		}
-		
+
 		private var _searchResults:Array;
-		
+
 		/**
 		 * Results from the last search.
-		 *  
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
@@ -170,4 +162,4 @@ package org.apache.flex.maps.google.models
 			dispatchEvent( new Event("searchResultsChanged") );
 		}
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/325df7b0/frameworks/projects/GoogleMaps/google-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/GoogleMaps/google-manifest.xml b/frameworks/projects/GoogleMaps/google-manifest.xml
index a9138df..f843c0c 100644
--- a/frameworks/projects/GoogleMaps/google-manifest.xml
+++ b/frameworks/projects/GoogleMaps/google-manifest.xml
@@ -20,5 +20,5 @@
 
 
 <componentPackage>
-    <component id="GoogleMap" class="org.apache.flex.maps.google.GoogleMap" />
+    <component id="Map" class="org.apache.flex.maps.google.GoogleMap" />
 </componentPackage>


Mime
View raw message