/* * JavaScript code to generate maps used by the * Seismological Observatory of the Ruhr-University Bochum * * Copyright 2012 Kasper D. Fischer * * License * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or (at * your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses/. * * $Id: station_map.js 321 2012-02-13 14:52:11Z kasper $ */ /* Global variables */ var mapkey; /* Main function to create the map */ function initKey(showMag, showAge, showStation) { /* Creating map */ wgs84 = new OpenLayers.Projection("EPSG:4326"); mapkey = new OpenLayers.Map( 'mapkey', { projection: wgs84, displayProjection: wgs84, controls: [] } ); // Show Magnitudes mag_layer = new OpenLayers.Layer.Vector( 'Magnitude Scale', { projection: wgs84, isBaseLayer: true } ); // Adding custom style for Magnitudes var mag_style_default = new OpenLayers.Style({ fillColor: '#ff0000', fillOpacity: 0.2, strokeColor: '#ff0000', strokeWidth: 2, pointRadius: "${pntsize}", label: "${text}", labelXOffset: "${offset}", graphicName: 'circle' }); var mag_style_map = new OpenLayers.StyleMap({ 'default': mag_style_default }); mag_layer.styleMap = mag_style_map; // Adding points as map key, size: mag*3.5+2.0 var pointt = new OpenLayers.Geometry.Point(-10, 0); var mag_pointt = new OpenLayers.Feature.Vector(pointt, {pntsize: 0, text: 'Magnitude', offset: 2}); var point0 = new OpenLayers.Geometry.Point(0, 0); var mag_point0 = new OpenLayers.Feature.Vector(point0, {pntsize: 0.5*3.5+2.0, text: '0.5', offset: 17}); var point1 = new OpenLayers.Geometry.Point(10, 0); var mag_point1 = new OpenLayers.Feature.Vector(point1, {pntsize: 1.5*3.5+2.0, text: '1.5', offset: 20.5}); var point2 = new OpenLayers.Geometry.Point(20, 0); var mag_point2 = new OpenLayers.Feature.Vector(point2, {pntsize: 2.5*3.5+2.0, text: '2.5', offset: 24.0}); var point3 = new OpenLayers.Geometry.Point(30, 0); var mag_point3 = new OpenLayers.Feature.Vector(point3, {pntsize: 3.5*3.5+2.0, text: '3.5', offset: 27.5}); mag_layer.addFeatures([mag_pointt, mag_point0, mag_point1, mag_point2, mag_point3]); mapkey.addLayer(mag_layer); mag_layer.setVisibility(true); // Set initial view if (!mapkey.getCenter()) { mapkey.setCenter(0,0); mapkey.zoomToExtent(mag_layer.getDataExtent()); } }