| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  | mxn.register('geocommons', { | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |     Mapstraction: { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |         init: function(element, api) { | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |             var me = this; | 
					
						
							|  |  |  |             this.element = element; | 
					
						
							|  |  |  |             Maker.maker_host='http://maker.geocommons.com'; | 
					
						
							|  |  |  |             Maker.finder_host='http://finder.geocommons.com'; | 
					
						
							|  |  |  |             Maker.core_host='http://geocommons.com'; | 
					
						
							|  |  |  |           }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         applyOptions: function(){ | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |         resizeTo: function(width, height){ | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             map.setSize(width,height); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         addControls: function( args ) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             map.showControl("Zoom", args.zoom || false); | 
					
						
							|  |  |  |             map.showControl("Layers", args.layers || false); | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |             map.showControl("Styles", args.styles || false); | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |             map.showControl("Basemap", args.map_type || false); | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |             map.showControl("Legend", args.legend || false, "open"); | 
					
						
							|  |  |  |             // showControl("Legend", true, "close");
 | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         addSmallControls: function() { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             showControl("Zoom", args.zoom); | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |             showControl("Legend", args.legend, "open"); | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         addLargeControls: function() { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             showControl("Zoom", args.zoom); | 
					
						
							|  |  |  |             showControl("Layers", args.layers); | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |             showControl("Legend", args.legend, "open"); | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         addMapTypeControls: function() { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         dragging: function(on) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |         setCenterAndZoom: function(point, zoom) { | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             map.setCenterZoom(point.lat, point.lon,zoom); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         getCenter: function() { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             var point = map.getCenterZoom()[0]; | 
					
						
							|  |  |  |             return mxn.LatLonPoint(point.lat,point.lon); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         setCenter: function(point, options) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |             map.setCenter(point.lat, point.lon); | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         setZoom: function(zoom) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             map.setZoom(zoom); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         getZoom: function() { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             return map.getZoom(); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         getZoomLevelForBoundingBox: function( bbox ) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             // NE and SW points from the bounding box.
 | 
					
						
							|  |  |  |             var ne = bbox.getNorthEast(); | 
					
						
							|  |  |  |             var sw = bbox.getSouthWest(); | 
					
						
							|  |  |  |             var zoom; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             return zoom; | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         setMapType: function(type) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             switch(type) { | 
					
						
							|  |  |  |                 case mxn.Mapstraction.ROAD: | 
					
						
							|  |  |  |                 map.setMapProvider("OpenStreetMap (road)"); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |                 case mxn.Mapstraction.SATELLITE: | 
					
						
							|  |  |  |                 map.setMapProvider("BlueMarble"); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |                 default: | 
					
						
							|  |  |  |                 map.setMapProvider(type); | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |             } | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         getMapType: function() { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             switch(map.getMapProvider) { | 
					
						
							|  |  |  |                 case "OpenStreetMap (Road)": | 
					
						
							|  |  |  |                     retu | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |             } | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //return mxn.Mapstraction.ROAD;
 | 
					
						
							|  |  |  |             //return mxn.Mapstraction.SATELLITE;
 | 
					
						
							|  |  |  |             //return mxn.Mapstraction.HYBRID;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         getBounds: function () { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             var extent = map.getExtent(); | 
					
						
							|  |  |  |             return new mxn.BoundingBox( extent.northWest.lat, extent.southEast.lon, extent.southEast.lat, extent.northWest.lon); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         setBounds: function(bounds){ | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             var sw = bounds.getSouthWest(); | 
					
						
							|  |  |  |             var ne = bounds.getNorthEast(); | 
					
						
							|  |  |  |             map.setExtent(ne.lat,sw.lat,ne.lon,sw.lon); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         addImageOverlay: function(id, src, opacity, west, south, east, north, oContext) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         addOverlay: function(url, autoCenterAndZoom) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  |             var me = this; | 
					
						
							|  |  |  |             Maker.load_map(this.element.id, url); | 
					
						
							|  |  |  |             setTimeout(function() { me.maps[me.api] = swfobject.getObjectById(FlashMap.dom_id);}, 500); | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         addTileLayer: function(tile_url, opacity, copyright_text, min_zoom, max_zoom) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         toggleTileLayer: function(tile_url) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         getPixelRatio: function() { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |             // TODO: Add provider code
 | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         mousePosition: function(element) { | 
					
						
							|  |  |  |             var map = this.maps[this.api]; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |             // TODO: Add provider code
 | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |         } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     LatLonPoint: { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         toProprietary: function() { | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |         fromProprietary: function(point) { | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Marker: { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         toProprietary: function() { | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-20 13:06:58 +00:00
										 |  |  |         openBubble: function() { | 
					
						
							| 
									
										
										
										
											2009-11-17 23:23:13 -05:00
										 |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         hide: function() { | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         show: function() { | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         update: function() { | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Polyline: { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         toProprietary: function() { | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         show: function() { | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         hide: function() { | 
					
						
							|  |  |  |             // TODO: Add provider code
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | }); |