diff --git a/map/ents.gpx b/map/ents.gpx new file mode 100644 index 000000000..08c570e6b --- /dev/null +++ b/map/ents.gpx @@ -0,0 +1,387 @@ + + +1675.46103.1 +1702.30113.sumpf.8_10 +1660.32142.45 +1757.62143.canyon.b0 +1757.83143.p143 +1734.28145.p145a +1731.76145.p145b +1813.222002-03to2004-15.6 +1841.332002-03to2004-15.p2002-03 +1807.242002-03to2004-15.p2004-15a +1802.632004-15to2004-14.p2004-14 +1807.242004-15to2004-14.p2004-15a +1867.142004-18to2006-09.p2004-18 +1912.432004-18to2006-09.p2006-09 +1905.082004-18to2006-09.p258a +1910.232004-18to2006-09.p258b +1738.382006-06.4 +1731.122006-06.7 +1726.842007-neu.1 +1909.802010-03.1 +1919.282012-ns-03.1 +1905.272012-ns-10.1 +1940.80233.1 +1830.48234to2002-03.1 +1838.80234to2002-03.3 +1843.05234to2002-03.5 +1841.33234to2002-03.9 +1807.96243.5 +1946.79bs16 +1925.79bs17 +1936.79bs19 +1976.79casino.0 +1941.80e02.0 +1956.80e09.0 +1931.80e10.0 +1876.81e28.0 +1946.81gps02.p2002-10 +1906.81gps02.p2002-ad-01 +1903.81gps02.p2002-ad-02 +1924.81gps02.p2002-ad-03 +1948.81gps02.p2002-ad-04 +1946.81gps02.p2002-x09 +1946.81gps02.p2002-x09b +1846.80gps02.p2002-x15 +1846.81gps02.p2002-x16 +1846.81gps02.p2002-x17 +1846.81gps02.p2002-x18 +1946.80gps02.p2005-05 +1946.80gps02.p2005-06 +1946.80gps02.p2005-08 +1781.82gps02olly.2001-06 +1795.83gps02olly.2001-07 +1794.83gps02olly.2001-08 +1773.83gps02olly.2001-09 +1768.83gps02olly.2001-10 +1749.83gps02olly.2001-11 +1732.83gps02olly.2001-12 +1746.82gps02olly.2002-ob-01 +1746.82gps02olly.2002-w-01 +1773.82gps02olly.235 +1798.83gps02olly.236 +1823.83gps02olly.237 +1781.82gps02olly.238 +1777.82gps02olly.88f +1796.82gps02olly.cliffhole +1772.83gps02olly.hfg-ka88 +1821.81gps03.2003-07 +2046.81gps03_bis.p2003-x11 +2046.81gps03_bis.p2003-x12 +2046.81gps03_bis.p2003-x13 +2046.81gps03_bis.p2003-x14 +2046.81gps03_bis.p2003-x15 +2046.81gps03_bis.p2003-x16 +2046.81gps03_bis.p2003-x17 +2046.81gps03_bis.p2003-x18 +1846.81gps04.p2004-10 +1750.81gps04.p2004-12 +1741.81gps04.p2004-13 +1877.81gps04.p2004-16 +1880.81gps04.p2004-17 +1867.14gps04.p2004-18 +1806.81gps04.p2004-21 +1918.81gps04.p247 +1819.82gps06.2006-01 +1753.82gps06.2006-02 +1752.82gps06.2006-03 +1847.81gps06.2006-05 +1914.81gps06.2006-07 +46.82gps98.1996_05 +1646.83gruenstein.1 +1922.80haldenloch.eingang.0 +1871.79lou-toti.lt-eingang.1 +1885.79lunge.ent +1726.84neuerschacht.12 +840.86p1 +1686.89p100 +1674.70p101a +1707.20p104 +1692.89p105 +1693.66p106 +1708.07p107 +1681.40p108 +1643.29p109 +1727.26p111 +1726.60p112 +1688.33p113 +1535.12p115 +1458.06p115b +1544.97p115c +1709.83p116 +1656.80p131 +1830.61p135 +1842.43p136 +1836.31p136b +1837.68p136c +1839.33p136d +1842.07p138 +1873.97p139 +1669.95p141 +1758.27p144 +1745.56p144b +1700.35p148 +1649.18p150 +1646.07p151 +1639.24p152 +1790.51p153 +1817.87p154 +1809.65p154b +1797.23p155 +1841.01p156 +1731.12p157 +1761.32p158 +1684.70p160 +1834.54p161 +1799.32p161b +1799.47p161c +1661.04p161d +1706.53p161e +1707.02p161f +1764.89p161g +1735.50p161h +1794.24p162 +1800.51p162b +1773.37p163 +1672.52p164rig +1839.46p165 +1682.76p171b +1677.85p172 +1706.11p174 +1706.45p175 +1715.21p176 +1486.86p18 +1813.46p180 +1643.89p182 +1638.58p183 +1638.33p184 +1810.28p185 +1748.08p186 +1676.30p188 +1811.14p191 +1791.05p193 +1809.58p194 +1825.67p195 +1837.71p196 +1700.63p1976_b4 +1746.61p1987-02 +1848.42p199 +1678.65p1998-x01 +1861.38p2000-08 +1856.82p2001-02 +1849.61p2001-03 +1907.58p2002-05 +1907.81p2002-06 +1875.94p2002-07 +1863.31p2002-08 +1699.01p2002-w-02 +1911.81p2003-01 +1689.13p2004-01 +1692.63p2004-02 +1677.59p2004-03 +1697.55p2004-07 +1695.07p2004-08 +1710.37p2004-13 +1802.63p2004-14 +1867.14p2004-18 +1810.53p2004-19a +1813.39p2004-19b +1816.02p2004-19c +1860.70p2004-20 +1764.04p2005-01 +1802.05p2005-02 +1731.04p2005-03 +1846.80p2005-07 +1695.14p2005-91 +1682.07p2005-92 +1678.85p2005-93 +1681.80p2005-94 +1682.13p2005-95 +1680.45p2005-96 +1683.39p2005-97 +1682.71p2005-98 +1675.43p2005-99 +1837.25p2006-08 +1697.64p2006-70 +1694.09p2006-71 +1747.45p2006-72 +1689.93p2006-73 +1907.81p2007-01 +1892.81p2007-02 +1793.82p2007-03 +1915.81p2007-04 +1796.81p2007-04a +1804.81p2007-05 +1856.81p2007-06 +1919.81p2007-07 +1955.80p2007-11 +1829.81p2007-12 +1688.06p2007-70 +1688.40p2007-71 +1692.87p2007-72 +1934.81p2009-01 +1918.80p2009-02 +1933.80p2009-03 +1932.81p2009-04 +1826.29p201 +1820.02p2010-01 +1905.80p2010-02 +1912.80p2010-03 +1906.80p2010-04 +1931.80p2010-05 +1896.79p2010-06 +1984.80p2011-01 +1725.75p2012-70 +1715.77p2012-70b +1726.91p2012-70c +1935.80p2012-dd-01 +1925.80p2012-dd-02 +1925.80p2012-dd-03 +2003.80p2012-dd-04 +1940.79p2012-dd-05 +1927.79p2012-dd-06 +1930.79p2012-dd-07 +1948.80p2012-dd-08 +1973.80p2012-dd-09 +1932.79p2012-dd-10 +1877.79p2012-dd-11 +1948.81p2012-hw-01 +1919.81p2012-hw-02 +1861.81p2012-ns-01 +1922.80p2012-ns-02 +1921.80p2012-ns-03 +1913.80p2012-ns-05 +1916.80p2012-ns-06 +1922.80p2012-ns-07 +1928.80p2012-ns-08 +1934.80p2012-ns-09 +1909.80p2012-ns-10 +1923.80p2012-ns-11 +1925.80p2012-ns-12 +1931.80p2012-ns-13 +1934.80p2012-ns-14 +1921.80p2012-ns-15 +1939.80p2012-ok-01 +1944.80p2012-ok-02 +1925.79p2012-ok-03 +1682.51p202 +1757.96p203 +1859.21p204a +1877.93p204c +1861.44p204e +1865.61p204f +1823.45p204g +1833.74p204h +1834.08p204i +1811.69p205 +1745.82p206 +1711.05p207 +1707.80p208 +1839.71p209 +1869.23p214 +1691.98p215a +1696.63p215b +1697.78p216 +1695.09p217 +1826.00p218 +1832.44p219 +1733.83p220 +1854.03p222 +1860.46p223 +1849.77p224 +1784.83p225 +1671.61p226a +1669.81p226b +1672.32p227 +1646.80p228 +1710.10p229 +1851.82p230 +1861.93p231a +1862.00p231b +1870.00p231c +1861.90p231d +1864.00p231e +1866.03p231f +1866.83p231g +1861.85p231h +1858.56p231i +1946.80p232 +1830.48p234a +1838.80p234b +1879.33p239 +1837.81p240 +1890.31p241 +1881.87p242 +1877.90p244 +1781.71p245 +1834.81p246 +1911.81p248 +1843.05p249 +1684.65p250 +1905.08p258a +1910.23p258b +1629.13p31 +1614.77p32 +1705.51p36 +1736.31p40a +1689.11p40e +1735.46p40f +1693.72p40h +1698.72p40s +1668.43p41a +1682.02p41b +1700.61p75 +1693.66p76 +1692.36p76a +1694.10p76b +1713.13p78a +1706.42p78b +1713.05p78d +1729.20p78e +1713.09p80 +1703.86p81 +1702.02p81b +1704.69p82 +1710.55p82b +1717.34p83 +1704.14p85 +1589.31p87 +1692.84p88 +1716.44p90 +1687.16p91 +1685.02p93 +1677.28p94 +1645.84p95 +1641.84p96 +1685.17p97 +1721.77p98 +1688.32p99 +1677.43p99ob02 +1810.68pmi5 +1869.61pquarriesd +1714.14pwk12 +1881.79raetsel.ent +1896.79sternloch.ent +1676.28t101 +1675.26t102 +1675.46t103 +1820.84t147 +1841.08t156 +1694.09t159 +1677.78t171 +1683.39t173 +1674.00t189 +1672.76t190 +1685.37t197 +1677.51t198 +1690.89t200 +1807.24t2004-15a +1813.99t2004-15b +1858.19t204b +1819.08t204d +1673.25t210 +1799.25t251 +1546.82tantalus +1906.80upsidedown.8 + diff --git a/map/index.html b/map/index.html new file mode 100644 index 000000000..027d4c121 --- /dev/null +++ b/map/index.html @@ -0,0 +1,120 @@ + + + +Loser cave map + + + + + + + + + + + + + + +
Show map information
+
Expo prototype slippy map
Please mouseover
the pin markers.
+
+

If you see this text, you opened the map HTML-File without the necessary files.

+ + diff --git a/map/javascript b/map/javascript new file mode 120000 index 000000000..e3b95b482 --- /dev/null +++ b/map/javascript @@ -0,0 +1 @@ +/usr/share/javascript \ No newline at end of file diff --git a/map/map.css b/map/map.css new file mode 100644 index 000000000..cff1c602b --- /dev/null +++ b/map/map.css @@ -0,0 +1,102 @@ +@charset "utf-8"; + +html,body { + background-color: #FFF; + height: 100%; + width: 100%; + margin: 0; + padding: 0; + font-family: Verdana, Arial, sans-serif; + font-size: 1em; + overflow: hidden; + color: #000; +} + +a { + color: #0000FF; + text-decoration: none; +} + +a:hover { + color: #000011; + text-decoration: underline; +} + +#map { + height: 100%; + width: 100%; + padding: 0; + margin: 0; + font-family: Arial, sans-serif; + font-size: 1em; + color: #000; +} +.olFramedCloudPopupContent { + font-size: 0.8em; + font-family: Verdana, sans-serif; +} +#descriptionToggle { + position: absolute; + font-size: 1em; + z-index: 10000; + left: 80px; + height: 14px; + border-left: 1px solid #000040; + border-bottom: 1px solid #000040; + border-right: 1px solid #000040; + padding: 2px 10px; + margin-right: 200px; + background-color: #EEE; + font-size: 12px; + cursor: default; + opacity: 0.7; +} +#descriptionToggle:hover { + background-color: #FFF; + opacity: 1; +} +#description { + position: absolute; + z-index: 10000; + left: 80px; + top: 18px; + border: 1px solid #000040; + padding: 10px 10px; + margin-right: 200px; + background-color: #FFF; + font-size: 12px; +} + +#attribution { + bottom: 0; + left: 0; + padding: 5px 8px 1px 8px; + position: absolute; + font-size: 11px; + font-style: italic; + z-index: 1000; +} + +#layer { + position: absolute; + top: 60px; + right: 10px; + z-index: 10002; +} + +#layer > div { + border: 1px solid #000; + background-color: #FFF; + padding: 4px 5px; + font-size: 0.7em; + cursor: default; + margin-bottom: 4px; + +} +#layer div:hover { +} +#layer .active { + background-color: #EEF; +} + +.hide { display: none; } diff --git a/map/util.js b/map/util.js new file mode 100644 index 000000000..dbb27c3af --- /dev/null +++ b/map/util.js @@ -0,0 +1,277 @@ +/* + * Einige Funktionen die ursprünglich von http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden stammen, + * teilweise modifiziert + * + * Some functions from the example at http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden, some + * slightly modified + */ +function jumpTo(lon, lat, zoom) { + var x = Lon2Merc(lon); + var y = Lat2Merc(lat); + map.setCenter(new OpenLayers.LonLat(x, y), zoom); + return false; +} + +function Lon2Merc(lon) { + return 20037508.34 * lon / 180; +} + +function Lat2Merc(lat) { + var PI = 3.14159265358979323846; + lat = Math.log(Math.tan( (90 + lat) * PI / 360)) / (PI / 180); + return 20037508.34 * lat / 180; +} + +function addMarker(layer, lon, lat, popupContentHTML, showPopupOnLoad, iconId) { + + // Koordinaten in LonLat umwandeln + var ll = new OpenLayers.LonLat(Lon2Merc(lon), Lat2Merc(lat)); + + // Feature erstellen und konfigurieren (Popup und Marker) + var feature = new OpenLayers.Feature(layer, ll); + feature.closeBox = true; + feature.popupClass = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {minSize: new OpenLayers.Size(200, 120) } ); + feature.data.popupContentHTML = popupContentHTML; + feature.data.overflow = "auto"; + feature.data.icon = makeIcon(iconId); + + // Marker erstellen + var marker = feature.createMarker(); + + /* + * Handler Funktionen für die Mouse-Events + */ + // Click + var markerClick = function(evt) { + // Wenn das Popup nicht sichtbar ist, dann kann es nicht fest sichtbar sein + if (!this.popup.visible()) + this.popup.clicked = false; + if (this.popup.clicked == true) { + this.popup.clicked = false; + this.popup.hide(); + } + else { + this.popup.clicked = true; + if (!this.popup.visible()) + this.popup.show(); + } + OpenLayers.Event.stop(evt); + }; + // Hover + var markerHover = function(evt) { + // Wenn das Popup nicht sichtbar ist, dann kann es nicht fest sichtbar sein + if (!this.popup.visible()) + this.popup.clicked = false; + if (!this.popup.clicked) + this.popup.show(); + + OpenLayers.Event.stop(evt); + } + // Hover End + var markerHoverEnd = function(evt) { + if (!this.popup.clicked) { + this.popup.hide(); + } + OpenLayers.Event.stop(evt); + } + + // Events auf den Marker registrieren und als Objekt das Feature übergeben + marker.events.register("mousedown", feature, markerClick); + if (showPopupOnHover) { + marker.events.register("mouseover", feature, markerHover); + marker.events.register("mouseout", feature, markerHoverEnd); + } + + // Erstellten Marker der Ebene hinzufügen + layer.addMarker(marker); + + // Popup erstellen, der Karte hinzufügen und anzeigen, falls gewünscht + map.addPopup(feature.createPopup(feature.closeBox)); + + if (showPopupOnLoad != true) { + // Wenn das Popup nicht angezeigt werden soll, verstecken und auf 'nicht angeklickt' setzen + feature.popup.hide(); + feature.popup.clicked = false; + } else { + // Das Popup wird direkt angezeigt und zwar solange bis man es explizit schließt + feature.popup.clicked = true; + } + + return marker; +} + +/* + * + * Creates a new marker icon + * + * using the icons-array (defined in the html-file) + * + * index + * 0 address to the image + * 1 width of the image + * 2 height + * 3 factor by which the image should be offset horizontally + * 4 factor by which the image should be offset vertically + * + * please see the icon array itself for examples of values + */ +function makeIcon(iconId) { + var size = new OpenLayers.Size(icons[iconId][1],icons[iconId][2]); + var offset = new OpenLayers.Pixel(-(size.w*icons[iconId][3]), -(size.h*icons[iconId][4])); + var icon = new OpenLayers.Icon(icons[iconId][0],size,offset); + return icon; +} + +function getCycleTileURL(bounds) { + var res = this.map.getResolution(); + var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w)); + var y = Math.round((this.maxExtent.top - bounds.top) / (res * this.tileSize.h)); + var z = this.map.getZoom(); + var limit = Math.pow(2, z); + + if (y < 0 || y >= limit) + { + return null; + } + else + { + x = ((x % limit) + limit) % limit; + + return this.url + z + "/" + x + "/" + y + "." + this.type; + } +} + +/* + * Funktion zum Zerlegen der URL um die Parameter zu erhalten (für den Permalink) + * Splits the URL in its parameters + */ +function get_parameters() { + // erzeugt für jeden in der url übergebenen parameter einen wert + // bsp: x.htm?nachname=Munch&vorname=Alex&bildfile=wasserfall.jpg erzeugt + // variable nachname mit wert Munch und + // variable vorname mit wert Alex + // variable bildfile mit wert wasserfall.jpg + var hier = document.URL; + var parameterzeile = hier.substr((hier.indexOf("?")+1)); + var trennpos; + var endpos; + var paramname; + var paramwert; + var parameters = new Object(); + while (parameterzeile != "") { + trennpos = parameterzeile.indexOf("="); + endpos = parameterzeile.indexOf("&"); + if (endpos < 0) { endpos = 500000; } + paramname = parameterzeile.substr(0,trennpos); + paramwert = parameterzeile.substring(trennpos+1,endpos); + parameters[paramname] = paramwert; + //eval (paramname + " = \"" + paramwert + "\""); + parameterzeile = parameterzeile.substr(endpos+1); + } + return parameters; +} + +/* + * Wie der Name schon sagt ebenfalls für den Permalink, überprüft ob die Parameter in der URL gefunden wurden und überschreibt + * sie gegebenenfalls. + * Checks the url for parameters of the permalink and overwrites the default values if necessary. + */ +function checkForPermalink() { + var parameters = get_parameters(); + + if (parameters['zoom'] != null) + zoom = parseInt(parameters['zoom']); + if (parameters['lat'] != null) + lat = parseFloat(parameters['lat']); + if (parameters['lon'] != null) + lon = parseFloat(parameters['lon']); +} +/* + * Debugging Funktion + */ +function var_dump(obj) { + if(typeof obj == "object") { + return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj; + } else { + return "Type: "+typeof(obj)+"\nValue: "+obj; + } +}//end function var_dump + + + +/* + * Für den Layer-Switcher mit Buttons + */ +function setLayer(id) { + if (document.getElementById("layer") != null) { + for (var i=0;i