diff options
Diffstat (limited to 'plugins/Mapstraction/js/mxn.geocommons.core.js')
-rw-r--r-- | plugins/Mapstraction/js/mxn.geocommons.core.js | 233 |
1 files changed, 233 insertions, 0 deletions
diff --git a/plugins/Mapstraction/js/mxn.geocommons.core.js b/plugins/Mapstraction/js/mxn.geocommons.core.js new file mode 100644 index 000000000..08be811fa --- /dev/null +++ b/plugins/Mapstraction/js/mxn.geocommons.core.js @@ -0,0 +1,233 @@ +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 + } + + } + +});
\ No newline at end of file |