1 | /** |
---|
2 | * technikum29.de | Google Maps widget for imprint page |
---|
3 | * |
---|
4 | * Dieses JavaScript wird auf den Impressumsseiten eingebunden, um |
---|
5 | * per Google Maps API diese einzubinden. Dazu ist noch ein kurzes |
---|
6 | * Schnipsel HTML in der Form <div id="map">...</div> noetig, |
---|
7 | * ausserdem muss dieses JavaScript eingebunden werden: |
---|
8 | * <script src="http://maps.google.com/maps?file=api&v=2&sensor=false&key=ABQIAAAAraTKZ5cINardZ8ITNVssKhRcOoEBtCgYLJRQznXYEV8m1M3fRRRT9wMSvFwhyo62fD3KyiwQxe5ruw" type="text/javascript"></script> |
---|
9 | * |
---|
10 | * Als Konstanten koennen in diesem Script bearbeitet werden: |
---|
11 | * * Der Google Maps API Key |
---|
12 | * * Der Inhalt der Sprechblasen an der Museumsposition |
---|
13 | * fuer die jeweilige Sprache |
---|
14 | * * Die Ausgansposition der Karte fuer die jeweilige Sprache |
---|
15 | * |
---|
16 | * 2009 Sven Koeppel $Id: gmaps-impressum.js 138 2010-01-04 02:34:11Z sven $ |
---|
17 | * Released under the public domain |
---|
18 | **/ |
---|
19 | |
---|
20 | // if not on this domain => deactivate script since google |
---|
21 | // will print out error otherwise |
---|
22 | var t29_gmaps_valid_domain = "www.technikum29.de"; |
---|
23 | |
---|
24 | var t29_gmaps_content = { |
---|
25 | "de": "<b>technikum29</b><br/>Am Flachsland 29<br/>Kelkheim/Taunus" |
---|
26 | +"<br/><a href='http://maps.google.com/maps?&daddr=Am+Flachsland+29,+Kelkheim&layer=&sll=50.092393,10.195313&sspn=38.370164,57.392578&ie=UTF8&z=16&om=1&iwloc=addr'>Route berechnen...</a>", |
---|
27 | "en": "<b>technikum29</b><br/>Close to Frankfurt/Main<br/>Germany" |
---|
28 | }; |
---|
29 | |
---|
30 | var t29_gmaps_center = { |
---|
31 | // map.setCenter(new GLatLng( .. , .. ), .. ) |
---|
32 | // so [ xpos , ypos , zoom] |
---|
33 | "de": [50.12101835522268, 8.510284423828125, 11], |
---|
34 | "en": [51.6452940493054, 8.173828125, 5] |
---|
35 | }; |
---|
36 | |
---|
37 | function t29_gmaps_detect_page_language() { |
---|
38 | // try to detect page language by heading |
---|
39 | if(document.getElementsByTagName("h1")[0].getAttribute("class").search("de") != -1) |
---|
40 | return "de"; |
---|
41 | else |
---|
42 | return "en"; |
---|
43 | } |
---|
44 | |
---|
45 | // das schnipsel hier geht unterm IE sowieso nicht: |
---|
46 | function t29_gmaps_include_once(src) { |
---|
47 | // hole alle vorhandenen Script-Elemente |
---|
48 | var scripts = document.getElementsByTagName('script'); |
---|
49 | |
---|
50 | if(scripts) { |
---|
51 | for(var k=0; k<scripts.length; k++) { |
---|
52 | // script schon geladen, abbrechen |
---|
53 | if(scripts[k].src == src) |
---|
54 | return; |
---|
55 | } |
---|
56 | } |
---|
57 | |
---|
58 | // script noch nicht geladen, binde es ein |
---|
59 | var script = document.createElement('script'); |
---|
60 | script.src = src; |
---|
61 | script.type = 'text/javascript'; |
---|
62 | (document.getElementsByTagName('HEAD')[0] || document.body).appendChild(script); |
---|
63 | } |
---|
64 | |
---|
65 | // damit verweigert Google den Dienst (unter localhost gehts aber...) |
---|
66 | //t29_gmaps_include_once("http://maps.google.com/maps?file=api&v=2&sensor=false&key="+t29_gmaps_key); |
---|
67 | |
---|
68 | var t29_gmaps_restore = window.onload; |
---|
69 | var gmap; |
---|
70 | window.onload = function() { |
---|
71 | if(t29_gmaps_restore) t29_gmaps_restore(); |
---|
72 | |
---|
73 | var lang = t29_gmaps_detect_page_language(); |
---|
74 | |
---|
75 | if(location.hostname != t29_gmaps_valid_domain) { |
---|
76 | document.getElementById("map").getElementsByTagName("div")[0].firstChild.data = |
---|
77 | "Karte kann nur auf www.technikum29.de geladen werden, nicht auf anderen Kopien der Homepage!"; |
---|
78 | } |
---|
79 | |
---|
80 | if(GBrowserIsCompatible()) { |
---|
81 | var map = new GMap2(document.getElementById("map")); |
---|
82 | gmap = map; |
---|
83 | map.setUIToDefault(); |
---|
84 | |
---|
85 | // Position vom Museum |
---|
86 | var t29_pos = new GLatLng(50.145129,8.445667); |
---|
87 | |
---|
88 | // Uebersichtsfensterchen rechts unten, will Heribert nicht |
---|
89 | //map.addControl(new GOverviewMapControl(new GSize(200,150))); |
---|
90 | |
---|
91 | // Zentrum der Karte, kann mit Firebug (gmap.getCenter(), gmap.getZoom()) |
---|
92 | // nach rumschieben bestimmt werden. |
---|
93 | map.setCenter(new GLatLng(t29_gmaps_center[lang][0], t29_gmaps_center[lang][1]), t29_gmaps_center[lang][2]); |
---|
94 | |
---|
95 | //map.setMapType(G_HYBRID_MAP); |
---|
96 | map.enableContinuousZoom(); |
---|
97 | var marker = new GMarker(t29_pos); |
---|
98 | map.addOverlay(marker); |
---|
99 | |
---|
100 | // fenster anzeigen |
---|
101 | GEvent.addListener(marker, "click", function() { |
---|
102 | marker.openInfoWindowHtml(t29_gmaps_content[lang]); |
---|
103 | }); |
---|
104 | marker.openInfoWindowHtml(t29_gmaps_content[lang]); |
---|
105 | } |
---|
106 | } |
---|
107 | |
---|