source: subversion/sites/www.openstreetmap.no/index.html @ 23088

Revision 23088, 15.4 KB checked in by vibrog, 4 years ago (diff)

Remove target="_blank" from external links

Line 
1<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="no" lang="no">
2<head>
3<title>OpenStreetMap Norge</title>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
5<meta content="OpenStreetMap er et prosjekt for å samle inn frie kartdata for hele verden." name="description" />
6
7<!-- bring in the OpenLayers javascript library -->
8<script src="openlayers/OpenLayers.js"></script>
9
10<!-- bring in the OpenStreetMap OpenLayers layers.
11     Using this hosted file will make sure we are kept up
12     to date with any necessary changes -->
13<script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>
14
15<script type="text/javascript">
16// Start position for the map
17var lat=65.4
18var lon=17.0
19var zoom=4
20var epsg4326 = new OpenLayers.Projection("EPSG:4326");
21OpenLayers.Lang.setCode("nb");
22
23// Use cookies to remember last map view
24var cookiename = "mapView";  // Name for this cookie
25var expiredays = 7;          // Number of days before cookie expiry
26// Look for the cookie
27if (document.cookie.length>0) {
28  cookieStart = document.cookie.indexOf(cookiename + "=");
29  if (cookieStart!=-1) {
30    cookieStart += cookiename.length+1;
31    cookieEnd=document.cookie.indexOf(";",cookieStart);
32    if (cookieEnd==-1) {
33      cookieEnd=document.cookie.length;
34    }
35    cookietext = document.cookie.substring(cookieStart,cookieEnd);
36    // Split the cookie text and create the variables
37    bits = cookietext.split("|");
38    lat = parseFloat(bits[0]);
39    lon = parseFloat(bits[1]);
40    zoom = parseInt(bits[2]);
41    layers = bits[3];
42  }
43}
44
45var map;
46//Initialise the 'map' object
47function init() {
48
49  map = new OpenLayers.Map ("map", {
50    controls: [
51      new OpenLayers.Control.ArgParser(),
52      new OpenLayers.Control.KeyboardDefaults(),
53      new OpenLayers.Control.Navigation(),
54      new OpenLayers.Control.PanZoomBar(),
55      new OpenLayers.Control.LayerSwitcher(),
56      new OpenLayers.Control.MousePosition({numDigits:4}),
57      new OpenLayers.Control.Attribution(),
58      new OpenLayers.Control.Permalink()
59    ],
60    projection: "EPSG:900913",
61    maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
62    maxResolution: 156543.0399,
63    numZoomLevels: 20,
64    units: 'm',
65    displayProjection: epsg4326
66  });
67
68  // Tiles kan kun benyttes etter avtale
69  layerScreenspec = new OpenLayers.Layer.XYZ(
70    "Skjermkartografi (beta)",
71    ["http://a.tile.tusvik.no/tiles/screenspec/${z}/${x}/${y}.png",
72     "http://b.tile.tusvik.no/tiles/screenspec/${z}/${x}/${y}.png",
73     "http://c.tile.tusvik.no/tiles/screenspec/${z}/${x}/${y}.png",
74     "http://d.tile.tusvik.no/tiles/screenspec/${z}/${x}/${y}.png"],
75    {transitionEffect:"resize",
76     numZoomLevels: 19, maxZoomLevel: 18,
77     attribution:
78      'Kartdata: <a href="http://wiki.openstreetmap.org/">OpenStreetMap</a>, ' +
79      'Kartografi: <a href="http://www.statkart.no/Skjermkartografi.d25-SwJjM0n.ips">Statens Kartverk</a>, ' +
80      'Driftet av Safe Computing AS'});
81
82  // Tiles kan kun benyttes etter avtale
83  layerHiking = new OpenLayers.Layer.XYZ(
84    "Turstier (beta)",
85    ["http://a.tile.tusvik.no/tiles/hiking/${z}/${x}/${y}.png",
86     "http://b.tile.tusvik.no/tiles/hiking/${z}/${x}/${y}.png",
87     "http://c.tile.tusvik.no/tiles/hiking/${z}/${x}/${y}.png",
88     "http://d.tile.tusvik.no/tiles/hiking/${z}/${x}/${y}.png"],
89    {transitionEffect:"resize",
90     numZoomLevels: 19, maxZoomLevel: 18,
91     attribution:
92      'Kartdata: <a href="http://wiki.openstreetmap.org/">OpenStreetMap</a>, ' +
93      'Symboler: <a href="http://www.statkart.no/filestore/Standardisering/docs/symbol.pdf">ISBN 82-90408-52-8</a>, ' +
94      'Driftet av Safe Computing AS'});
95
96  // Tiles kan kun benyttes etter avtale
97  layerSkiing = new OpenLayers.Layer.XYZ(
98    "Skiløyper (beta)",
99    ["http://a.tile.tusvik.no/tiles/skiing/${z}/${x}/${y}.png",
100     "http://b.tile.tusvik.no/tiles/skiing/${z}/${x}/${y}.png",
101     "http://c.tile.tusvik.no/tiles/skiing/${z}/${x}/${y}.png",
102     "http://d.tile.tusvik.no/tiles/skiing/${z}/${x}/${y}.png"],
103    {transitionEffect:"resize",
104     numZoomLevels: 19, maxZoomLevel: 18,
105     attribution:
106      'Kartdata: <a href="http://wiki.openstreetmap.org/">OpenStreetMap</a>, ' +
107      'Symboler: <a href="http://www.statkart.no/filestore/Standardisering/docs/symbol.pdf">ISBN 82-90408-52-8</a>, ' +
108      'Driftet av Safe Computing AS'});
109
110  layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Vanlig: Mapnik");
111  layerTilesAtHome = new OpenLayers.Layer.OSM.Osmarender("Detaljert: Osmarender");
112  layerCycle = new OpenLayers.Layer.OSM.CycleMap("Sykkelruter");
113
114  map.addLayers([layerMapnik, layerTilesAtHome, layerCycle]);
115  map.addLayers([layerScreenspec, layerHiking, layerSkiing]);
116
117  var lonLat = new OpenLayers.LonLat(lon, lat).transform(
118    epsg4326, map.getProjectionObject());
119  if( ! map.getCenter() ){
120    map.setCenter(lonLat, zoom);
121  }
122  if (layers) {
123    setActiveLayers(layers);
124  }
125  updatelinks();
126  map.events.register("moveend", map, updatelinks);
127  map.events.register("changelayer", map, updatelinks);
128}
129
130// Returns a string representation of layers in map
131function getActiveLayers() {
132  var layers = '';
133  for (var i=0; i< map.layers.length; i++) {
134    var layer = map.layers[i];
135    if (layer.isBaseLayer) {
136      layers += (layer == map.baseLayer) ? "B" : "0";
137    } else {
138      layers += (layer.getVisibility()) ? "T" : "F";
139    }
140  }
141  return layers;
142}
143
144// Reads a string like the one getActiveLayers makes and
145// sets the active layers correspondingly
146function setActiveLayers(layers) {
147  for(var i=0; i < layers.length; i++) {
148    var layer = map.layers[i];
149    var c = layers.charAt(i);
150    if (c == "B") {
151        map.setBaseLayer(layer);
152    } else if ( (c == "T") || (c == "F") ) {
153        layer.setVisibility(c == "T");
154    }
155  }
156}
157
158// Set the cookie before exiting
159function setCookie() {
160  var lonlat = map.getCenter().clone()
161    .transform(map.getProjectionObject(), epsg4326);
162  var cookietext = cookiename+"="+lonlat.lat+"|"+lonlat.lon+"|"+
163    map.getZoom()+"|"+getActiveLayers();
164  if (expiredays) {
165    var exdate=new Date();
166    exdate.setDate(exdate.getDate()+expiredays);
167    cookietext += ";expires="+exdate.toGMTString();
168  }
169  document.cookie=cookietext;
170}
171
172/*
173 * Called to interpolate JavaScript variables in strings using a
174 * similar syntax to rails I18n string interpolation - the only
175 * difference is that [[foo]] is the placeholder syntax instead
176 * of {{foo}} which allows the same string to be processed by both
177 * rails and then later by javascript.
178 */
179function i18n(string, keys) {
180  string = i18n_strings[string] || string
181  for (var key in keys) {
182    var re_key = '\\[\\[' + key + '\\]\\]';
183    var re = new RegExp(re_key, "g");
184    string = string.replace(re, keys[key]);
185  }
186  return string;
187}
188
189i18n_strings = new Array();
190i18n_strings['javascripts.site.edit_disabled_tooltip'] = 'Zoom inn for å redigere kartet';
191i18n_strings['javascripts.site.edit_tooltip'] = 'Rediger kartet';
192i18n_strings['javascripts.site.edit_zoom_alert'] = 'Du må zoome inn for å redigere kartet';
193i18n_strings['javascripts.site.history_disabled_tooltip'] = 'Zoom inn for å vise redigeringer i dette området';
194i18n_strings['javascripts.site.history_tooltip'] = 'Vis redigeringer for dette området';
195i18n_strings['javascripts.site.history_zoom_alert'] = 'Du må zoome inn for å vise redigeringer i dette området';
196
197/*
198 * Called to get the arguments from a URL as a hash.
199 */
200function getArgs(url) {
201  var args = new Object();
202  var querystart = url.indexOf("?");
203  if (querystart >= 0) {
204     var querystring = url.substring(querystart + 1);
205     var queryitems = querystring.split("&");
206     for (var i = 0; i < queryitems.length; i++) {
207        if (match = queryitems[i].match(/^(.*)=(.*)$/)) {
208           args[unescape(match[1])] = unescape(match[2]);
209        } else {
210           args[unescape(queryitems[i])] = null
211        }
212     }
213  }
214  return args;
215}
216
217/*
218 * Called to set the arguments on a URL from the given hash.
219 */
220function setArgs(url, args) {
221   var queryitems = new Array();
222   for (arg in args)
223   {
224      if (args[arg] == null) {
225         queryitems.push(escape(arg));
226      } else {
227         queryitems.push(escape(arg) + "=" + escape(args[arg]));
228      }
229   }
230   return url.replace(/\?.*$/, "") + "?" + queryitems.join("&");
231}
232
233function updatelinks() {
234  var lonlat = map.getCenter().clone().transform(map.getProjectionObject(), epsg4326);
235  var zoom = map.getZoom();
236  var osmorg = 'http://www.openstreetmap.org'
237  var node;
238  var decimals = Math.pow(10, Math.floor(zoom/3));
239  lat = Math.round(lonlat.lat * decimals) / decimals;
240  lon = Math.round(lonlat.lon * decimals) / decimals;
241
242  node = $("exportanchor");
243  if (node) {
244    var args = getArgs(node.href);
245    args["lat"] = lat;
246    args["lon"] = lon;
247    args["zoom"] = zoom;
248    node.href = setArgs(node.href, args);
249  }
250
251  node = $("editanchor");
252  if (node) {
253    if (zoom >= 13) {
254      var args = new Object();
255      args.lat = lat;
256      args.lon = lon;
257      args.zoom = zoom;
258      node.href = setArgs(osmorg+"/edit", args);
259      node.title = i18n("javascripts.site.edit_tooltip");
260    } else {
261      node.href = 'javascript:alert(i18n("javascripts.site.edit_zoom_alert"));';
262      node.title = i18n("javascripts.site.edit_disabled_tooltip");
263    }
264  }
265
266  node = $("historyanchor");
267  if (node) {
268    if (zoom >= 13) {
269      var args = new Object();
270      args.lat = lat;
271      args.lon = lon;
272      args.zoom = zoom;
273      node.href = setArgs("http://matt.dev.openstreetmap.org/owl_viewer/weeklymap", args);
274      node.title = i18n("javascripts.site.history_tooltip");
275    } else {
276      node.href = 'javascript:alert(i18n("javascripts.site.history_zoom_alert"));';
277      node.title = i18n("javascripts.site.history_disabled_tooltip");
278    }
279  }
280
281  node = $("compareanchor");
282  if (node) {
283    var args = getArgs(node.href);
284    args["lat"] = lat;
285    args["lon"] = lon;
286    args["zoom"] = zoom;
287    node.href = setArgs(node.href, args);
288  }
289}
290
291function toggleVisibility(id) {
292  var e = document.getElementById(id);
293  if(e.style.display == 'block')
294    e.style.display = 'none';
295  else
296    e.style.display = 'block';
297}
298
299function search(baseurl, term) {
300  var url = baseurl;
301
302  var args = new Object();
303  args.format = 'json';
304  args.json_callback = 'searchCallback';
305  args.q = term;
306  args.viewboxlbrt = map.getExtent()
307    .transform(map.getProjectionObject(), epsg4326).toBBOX();
308
309  url = setArgs(url, args);
310
311  var scriptelem = document.createElement('script');
312  scriptelem.type = 'text/javascript';
313  scriptelem.src = url;
314
315  document.getElementsByTagName("head")[0].appendChild( scriptelem );
316}
317
318function searchCallback(result) {
319  var bottom = result[0].boundingbox[0];
320  var top = result[0].boundingbox[1];
321  var left = result[0].boundingbox[2];
322  var right = result[0].boundingbox[3];
323  var bbox = new OpenLayers.Bounds(left,bottom,right,top)
324    .transform(epsg4326, map.getProjectionObject());
325  map.zoomToExtent(bbox);
326  document.getElementById("searchCount").innerHTML = result.length+' treff.';
327}
328
329window.onload = init;
330window.onunload = setCookie;
331</script>
332
333<link rel="stylesheet" type="text/css" href="openlayers/theme/default/style.css"/>
334<style type="text/css">
335  body { margin:0px; }
336  div#map { width:100%; height:100%; }
337  .olControlAttribution {
338    font-size:8pt;
339    left:5px; bottom:5px;
340  }
341  #menu {
342    position:absolute; top:0px; left:50%; 
343    width:42em; margin-left:-21em;
344    z-index:999;
345    vertical-align:middle;
346    font-family:Arial,Helvetica,sans-serif;
347    font-size:13px;
348    color:white;
349    background-image: url('darkblue-75.png');
350    /* background-color: rgba(0,0,139,0.75); */
351    padding:4px 20px;
352    border-bottom-left-radius: 7px;
353    border-bottom-right-radius: 7px;
354    -moz-border-radius-bottomleft: 7px;
355    -moz-border-radius-bottomright: 7px;
356    -webkit-border-bottom-left-radius: 7px;
357    -webkit-border-bottom-right-radius: 7px;
358  }
359  #more, #search { display:none; }
360  #videotutorial { display:none; text-align:center; }
361  #menu * a {
362    text-decoration:none;
363    color:white;
364  }
365  #tabs a { margin-right:.9em; }
366  #more ul li { line-height:1.4em; }
367</style>
368
369</head>
370<body>
371
372  <div id="menu">
373    <div id="tabs">
374    <a href="http://www.openstreetmap.org/"
375       title="OpenStreetMap er et fritt wiki-verdenskart. Klikk her for den internasjonale siden."><img id="logo"
376       src="OpenStreetMapNorge.png"
377       width="13" height="13" border="0" /></a>
378    <a href="http://www.openstreetmap.org/edit"
379       id="editanchor"
380       title="Rediger kartet">Rediger</a>
381    <a href="http://matt.dev.openstreetmap.org/owl_viewer/weeklymap"
382       id="historyanchor"
383       title="Vis redigeringer for dette området">Historikk</a>
384    <a href="http://www.openstreetmap.org/export"
385       id="exportanchor"
386       onclick="new Ajax.Request('/export/start', {asynchronous:true, evalScripts:true}); return false;"
387       title="Eksporter kartdata">Eksporter</a>
388    <a href="http://www.openstreetmap.org/traces"
389       title="Del og finn GPS-spor">GPS-spor</a>
390    <a href="http://help.openstreetmap.org/"
391       title="Spør om hjelp her">Hjelp</a>
392    <a href="#"
393       onclick="javascript:toggleVisibility('search');"
394       title="Naviger ved hjelp av stedsnavn">Søk &gt;&gt;</a>
395    <a href="#"
396       onclick="javascript:toggleVisibility('more');"
397       title="Kort om OSM og hint til å komme i gang">Informasjon &gt;&gt;</a>
398    </div>
399    <div id="search">
400      <p>
401        <form method="get" action="http://nominatim.openstreetmap.org/search"
402              onSubmit="search(this.action, this.q.value);return false;">
403        Finn et sted:
404          <input id="q" name="q" value="" style="width:270px;"/>
405          <input type="submit" value="Søk"/>
406          <span id="searchCount"></span>
407        </form>
408      </p>
409    </div>
410    <div id="more">
411      <p>
412        <strong>OpenStreetMap</strong> (OSM) er
413        et verdensomspennende prosjekt for å dele frie kartdata.
414        Flere titusen mennesker bidrar med å samle inn data
415        og lage løsninger som du kan bruke helt fritt.
416      </p>
417      <p>
418        Denne siden tilbyr norsktilpassede presentasjoner
419        av kartdataene i OSM.<br/>
420        Bruk '+'-menyen til høyre for å bytte mellom disse.
421      </p>
422      <ul>
423        <li><a href="http://wiki.openstreetmap.org/wiki/No:Beginners_Guide"
424              >Hvordan bidra til dugnadskartet</a> —
425            <a href="#"
426               onclick="javascript:toggleVisibility('videotutorial');"
427              >se en instruksjonsfilm &gt;&gt;</a></li>
428        <li><a href="http://wiki.openstreetmap.org/wiki/No:Map_Features"
429              >Oversikt over kartegenskaper (tagger) tilpasset Norge</a></li>
430        <li><a href="http://www.frikart.no/garmin/"
431              >Last ned kart basert på OSM til Garmin GPS</a></li>
432        <li><a id="compareanchor"
433              href="http://www.vidargundersen.com/osm/compare.html"
434              >Sammenlign OSM med offentlige kart fra Statens Kartverk</a></li>
435        <li><a href="http://wiki.nuug.no/grupper/kart"
436              >Diskusjonsforum (epostliste)</a></li>
437      </ul>
438      <p id="videotutorial">
439<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/1Kd3S53CXQs&amp;hl=en_US&amp;fs=1?rel=0"/><param name="allowFullScreen" value="true"/><param name="allowscriptaccess" value="always"/><embed src="http://www.youtube.com/v/1Kd3S53CXQs&amp;hl=en_US&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"/></object>
440      </p>
441    </div>
442  </div>
443
444  <!-- Define a DIV into which the map will appear. -->
445  <div id="map"></div>
446
447</body>
448</html>
Note: See TracBrowser for help on using the repository browser.