diff --git a/rhein/page/default_page/default_page.js b/rhein/page/default_page/default_page.js index dea7a8f..9d2eb9a 100644 --- a/rhein/page/default_page/default_page.js +++ b/rhein/page/default_page/default_page.js @@ -4,9 +4,10 @@ $(document).ready(function() { $('#menu div').removeClass('aktmenuitem'); $(this).addClass('aktmenulink'); $(this).parent().addClass('aktmenuitem'); - $('#content').load('http://mojotrollz.eu/web/rhein/index.php?page='+$(this).attr('page'),function(){ - if($(this).attr('page') == 'anreise'){ - initialize_map();} + page = $(this).attr('page'); + $('#content').load('http://mojotrollz.eu/web/rhein/index.php?page='+page,function(){ + if(page === 'anreise'){ + drawmap();} }); }); }); \ No newline at end of file diff --git a/rhein/page/default_page/default_page.php b/rhein/page/default_page/default_page.php index c0bf367..e9273be 100644 --- a/rhein/page/default_page/default_page.php +++ b/rhein/page/default_page/default_page.php @@ -4,9 +4,10 @@ class default_page extends SYSTEM\PAGE\Page { public static function js(){ return ''. ''. + ''. + ''. ''. - ''. - ''; + ''; } public static function css(){ return ''. diff --git a/rhein/page/default_page/googlemap.js b/rhein/page/default_page/googlemap.js deleted file mode 100644 index 87ecf7f..0000000 --- a/rhein/page/default_page/googlemap.js +++ /dev/null @@ -1,18 +0,0 @@ -function initialize_map() -{ - if (GBrowserIsCompatible()) - { - var map = new GMap2(document.getElementById("map_canvas"),{ size: new GSize(575,450) }); - map.enableScrollWheelZoom(); - map.setCenter(new GLatLng(49.727620, 8.611300), 14); - map.addControl(new GSmallMapControl()); - map.addControl(new GMapTypeControl()); - - var latlng = new GLatLng(49.732810, 8.608990); - map.addOverlay(new GMarker(latlng,{draggable: true})); - map.openInfoWindowHtml(latlng,"

Ferienwohnung Rhein

Lange Hart 30"); - - //var latlng2 = new GLatLng(49.725631, 8.609151); - //map.addOverlay(new GMarker(latlng2,{draggable: true})); - } -} \ No newline at end of file diff --git a/rhein/page/default_page/map.js b/rhein/page/default_page/map.js new file mode 100644 index 0000000..0e5b7a1 --- /dev/null +++ b/rhein/page/default_page/map.js @@ -0,0 +1,123 @@ +/*function initialize_map() +{ + if (GBrowserIsCompatible()) + { + var map = new GMap2(document.getElementById("map_canvas"),{ size: new GSize(575,450) }); + map.enableScrollWheelZoom(); + map.setCenter(new GLatLng(49.727620, 8.611300), 14); + map.addControl(new GSmallMapControl()); + map.addControl(new GMapTypeControl()); + + var latlng = new GLatLng(49.732810, 8.608990); + map.addOverlay(new GMarker(latlng,{draggable: true})); + map.openInfoWindowHtml(latlng,"

"); + + //var latlng2 = new GLatLng(49.725631, 8.609151); + //map.addOverlay(new GMarker(latlng2,{draggable: true})); + } +}*/ + +var map; +var layer_mapnik; +var layer_tah; +var layer_markers; + +function drawmap() { + // Popup und Popuptext mit evtl. Grafik + var popuptext="Ferienwohnung Rhein
Lange Hart 30
64673 Zwingenberg

"; + + OpenLayers.Lang.setCode('de'); + + // Position und Zoomstufe der Karte + var lon = 8.60884488; + var lat = 49.73296614; + var zoom = 17; + + map = new OpenLayers.Map('map', { + projection: new OpenLayers.Projection("EPSG:900913"), + displayProjection: new OpenLayers.Projection("EPSG:4326"), + controls: [ + new OpenLayers.Control.Navigation(), + //new OpenLayers.Control.LayerSwitcher(), + new OpenLayers.Control.PanZoomBar()], + //maxExtent: + // new OpenLayers.Bounds(-20037508.34,-20037508.34, + // 20037508.34, 20037508.34), + numZoomLevels: 18, + maxResolution: 156543, + units: 'meters' + }); + + layer_mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik"); + layer_markers = new OpenLayers.Layer.Markers("Address", { projection: new OpenLayers.Projection("EPSG:4326"), + visibility: true, displayInLayerSwitcher: false }); + + map.addLayers([layer_mapnik, layer_markers]); + jumpTo(lon, lat, zoom); + + // Position des Markers + addMarker(layer_markers, 8.60884488, 49.73296614, popuptext); + +} +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) { + + var ll = new OpenLayers.LonLat(Lon2Merc(lon), Lat2Merc(lat)); + var feature = new OpenLayers.Feature(layer, ll); + feature.closeBox = true; + feature.popupClass = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {minSize: new OpenLayers.Size(300, 180) } ); + feature.data.popupContentHTML = popupContentHTML; + feature.data.overflow = "hidden"; + + var marker = new OpenLayers.Marker(ll); + marker.feature = feature; + + var markerClick = function(evt) { + if (this.popup == null) { + this.popup = this.createPopup(this.closeBox); + map.addPopup(this.popup); + this.popup.show(); + } else { + this.popup.toggle(); + } + OpenLayers.Event.stop(evt); + }; + marker.events.register("mousedown", feature, markerClick); + + layer.addMarker(marker); + map.addPopup(feature.createPopup(feature.closeBox)); +} + +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; + } +} \ No newline at end of file