gnu-social/plugins/Mapstraction/js/mxn.geocommons.core.js
2009-11-17 23:23:13 -05:00

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
}
}
});