233 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			233 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| mxn.register('geocommons', {	
 | |
| 
 | |
|     Mapstraction: {
 | |
| 
 | |
|         init: function(element, api) {		
 | |
|             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
 | |
|         },
 | |
| 
 | |
|         resizeTo: function(width, height){	
 | |
|             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);
 | |
|             map.showControl("Styles", args.styles || false); 
 | |
|             map.showControl("Basemap", args.map_type || false);
 | |
|             map.showControl("Legend", args.legend || false, "open"); 
 | |
|             // showControl("Legend", true, "close"); 
 | |
|         },
 | |
| 
 | |
|         addSmallControls: function() {
 | |
|             var map = this.maps[this.api];
 | |
|             showControl("Zoom", args.zoom);
 | |
|             showControl("Legend", args.legend, "open"); 
 | |
|         },
 | |
| 
 | |
|         addLargeControls: function() {
 | |
|             var map = this.maps[this.api];
 | |
|             showControl("Zoom", args.zoom);
 | |
|             showControl("Layers", args.layers);
 | |
|             showControl("Legend", args.legend, "open"); 
 | |
|         },
 | |
| 
 | |
|         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
 | |
|         },
 | |
| 
 | |
|         setCenterAndZoom: function(point, zoom) { 
 | |
|             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];
 | |
|             map.setCenter(point.lat, point.lon);            
 | |
|         },
 | |
| 
 | |
|         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;
 | |
|                 case mxn.Mapstraction.HYBRID:
 | |
|                 map.setMapProvider("Google Hybrid");
 | |
|                 break;
 | |
|                 default:
 | |
|                 map.setMapProvider(type);
 | |
|             }	 
 | |
|         },
 | |
| 
 | |
|         getMapType: function() {
 | |
|             var map = this.maps[this.api];
 | |
|             switch(map.getMapProvider) {
 | |
|                 case "OpenStreetMap (Road)":
 | |
|                     retu
 | |
|                     
 | |
|             }
 | |
|             // 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];
 | |
| 
 | |
|             // TODO: Add provider code	
 | |
|         },
 | |
| 
 | |
|         mousePosition: function(element) {
 | |
|             var map = this.maps[this.api];
 | |
| 
 | |
|             // TODO: Add provider code	
 | |
|         }
 | |
|     },
 | |
| 
 | |
|     LatLonPoint: {
 | |
| 
 | |
|         toProprietary: function() {
 | |
|             // TODO: Add provider code
 | |
|         },
 | |
| 
 | |
|         fromProprietary: function(googlePoint) {
 | |
|             // TODO: Add provider code
 | |
|         }
 | |
| 
 | |
|     },
 | |
| 
 | |
|     Marker: {
 | |
| 
 | |
|         toProprietary: function() {
 | |
|             // TODO: Add provider code
 | |
|         },
 | |
| 
 | |
|         openBubble: function() {		
 | |
|             // 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
 | |
|         }
 | |
| 
 | |
|     }
 | |
| 
 | |
| }); |