var map = null; var addingMarker = false; var areaLayer, drawControls, geom; var home_lat = -28.34132; var home_lon = 134.68867; var home_zoom = 4; var panel; var defaultBtn = new OpenLayers.Control.Button({displayClass: "defaultBtn", trigger: defaultButton, title:"Default Mouse Controls"}); var zoomboxBtn = new OpenLayers.Control.Button({displayClass: "zoomboxBtn", trigger: zoomboxButton, title:"Zoom Box"}); var drawBtn = new OpenLayers.Control.Button({displayClass: "drawBtn", trigger: drawButton, title:"Draw Area"}); var clearBtn = new OpenLayers.Control.Button({displayClass: "clearBtn", trigger: clearButton, title:"Clear Area"}); var maxzoom = new OpenLayers.Control.ZoomToMaxExtent({title:"Zoom to the max extent"}); var defaultView = new OpenLayers.Control.Button({displayClass: "defaultViewBtn", trigger: goHome, title:"Reset View"}); var problem = new OpenLayers.Control.Button({displayClass: "addMarkerBtn", trigger: addMarker, title:"Add problem"}); function init_map(div_id, lon, lat, zoom) { OpenLayers.ImgPath = 'http://maps.bigtincan.com/img/openlayers/'; map = new OpenLayers.Map(div_id, { controls: [ new OpenLayers.Control.Navigation(), new OpenLayers.Control.PanZoomBar(), new OpenLayers.Control.ScaleLine(), new OpenLayers.Control.LayerSwitcher(), new OpenLayers.Control.MousePosition(), new OpenLayers.Control.Permalink() ], maxResolution: 156543, numZoomLevels: 19, units: 'm', projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG:4326") }); var layerBTC = new OpenLayers.Layer.OSM.BTC("Default"); var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik"); areaLayer = new OpenLayers.Layer.Vector("User Areas", { onFeatureInsert: function(feature){featureAdded(feature);} }); country = "AU";map.addLayer(layerBTC);map.addLayer(layerMapnik);map.addLayer(areaLayer); drawControls = { Default: new OpenLayers.Control.MouseDefaults(), Zoombox: new OpenLayers.Control.ZoomBox(), Draw: new OpenLayers.Control.DrawFeature(areaLayer, OpenLayers.Handler.Polygon) }; for(var key in drawControls) { map.addControl(drawControls[key]); } panel = new OpenLayers.Control.Panel({defaultControl: defaultBtn}); panel.addControls([ defaultBtn,zoomboxBtn, maxzoom,defaultView,problem ]); map.addControl(panel); map.setCenter(new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), zoom); return map; } function featureAdded(feature) { closeNewAreaPopups(); html = "
"; html+= "
Save Area
"; html+= "
"; html+= "

"; html+= " Reference: "; html+= "

"; html+= " "; html+= "
"; html+= "
"; geom = feature.geometry; comp = geom.getVertices(); point = comp[0]; x = point.x; y = point.y; popup = new OpenLayers.Popup("NewArea", new OpenLayers.LonLat(x, y), new OpenLayers.Size(200, 200), html, true); map.addPopup(popup); popup.show(); } function closeNewAreaPopups() { for(i=0; i