Ergebnis 1 bis 3 von 3

Thema: Dynamische Marker werden im IE6 und IE7 nicht angezeigt

  1. #1
    Contao-Nutzer
    Registriert seit
    10.09.2009.
    Beiträge
    107

    Standard Dynamische Marker werden im IE6 und IE7 nicht angezeigt

    Hallo Leute

    Hat jemand schon das selbe Problem gehabt?
    Ich verwende dlh_googlemaps 1.1.1 zusammen mit der Katalog Erweiterung.
    Ich habe die dynamischen Marker so wie in der Textdatei DYNAMISCHE_MARKER.TXT beschrieben eingefügt. Bei allen Browsern funktioniert es, ausser beim IE6/7 nicht, da kommt nur die leere Map ohne Marker. Die Ausgabe aus dem Katalog sieht wie folgt aus:

    Code:
    <script type="text/javascript">
    //<![CDATA[
    
    function gmap2_dynmap(gmap2) {
    
    
    	var gmap2_0_marker = new google.maps.Marker({
    		position: new google.maps.LatLng(48.858314,2.294462), 
    		map: gmap2,
    		});
    	var gmap2_0_infowindow = new google.maps.InfoWindow({
    		pixelOffset: new google.maps.Size(0,10),
    		zIndex: 1,
    		content: '<a href=\"test.html\" title=\"Test\" class=\"maptitle\">Test</a><br />Text<br /><a href=\"test.html\" title=\"Test\" class=\"mapimage\"><img src=\"test.jpg\" width=\"80\" height=\"60\" /><img src=\"test.jpg\" width=\"80\" height=\"60\" /></a>',
    		});
    	google.maps.event.addListener(gmap2_0_marker, 'click', function() {
    		gmap2_0_infowindow.open(gmap2,gmap2_0_marker);
    		});
    
    
    	var gmap2_1_marker = new google.maps.Marker({
    		position: new google.maps.LatLng(48.861053,2.335317), 
    		map: gmap2,
    		});
    	var gmap2_1_infowindow = new google.maps.InfoWindow({
    		pixelOffset: new google.maps.Size(0,10),
    		zIndex: 1,
    		content: '<a href=\"test.html\" title=\"Test\" class=\"maptitle\">Test</a><br />Text<br /><a href=\"test.html\" title=\"Test\" class=\"mapimage\"><img src=\"test.jpg\" width=\"80\" height=\"60\" /><img src=\"test.jpg\" width=\"80\" height=\"60\" /></a>',
    		});
    	google.maps.event.addListener(gmap2_1_marker, 'click', function() {
    		gmap2_1_infowindow.open(gmap2,gmap2_1_marker);
    		});
    
    }
    //]]>
    </script>
    Danke und Gruss
    cubano
    Geändert von cubano (13.04.2012 um 17:03 Uhr)

  2. #2
    Contao-Fan Avatar von Hauge
    Registriert seit
    31.01.2010.
    Beiträge
    643

    Standard

    Stimmt - bei mir ist das auch so, wollte das Problem eigentlich erst später anpacken, aber da du schon damit anfängst...

    Was ich nicht ganz verstehe ist, dass man im Quelltext (Entwicklertools) nur folgendes angezeigt bekommt:
    ie.JPG

    Bin hierbei auf diese und diese Seite gestossen

    Gruß
    Andreas
    Geändert von Hauge (15.04.2012 um 06:25 Uhr)

  3. #3
    Contao-Nutzer
    Registriert seit
    10.09.2009.
    Beiträge
    107

    Standard

    Ich kenn mich zwar nicht mit Javascript aus, aber ich denke das Problem liegt daran, dass die dynamischen Markierungen mit einem zusätzlichen Javascript-Funktionsblock "function gmap*ID*_dynmap(gmap*ID*)" an einer anderen Stelle der XHTML-Ausgabe eingefügt werden.

    Füge ich nämlich statische Markierungen mit dem GoogleMaps Modul ein (also ohne die Katalog-Erweiterung), dann funktioniert es ja auch beim IE6/7. Da werden die Markierungen und die Map alle nur mit einem Javascript-Funktionsblock "function gmap*ID*_initialize()" aufgerufen.

    Ich habe das Problem mit den dynamischen Markierungen bei mir nun so gelöst, dass ich das Modul GoogleMaps gar nicht mehr verwende/aufrufe, sondern die Map-Parameter manuell auch ins Katalog-Template verschoben habe und dort auch noch die Javascript Datei im Head eingefügt wird. Somit bleibt alles innerhalb der "function gmap*ID*_initialize()" und es funktioniert nun auch im IE6/7.

    Katalog Template:

    Code:
    <?php if (count($this->entries)): ?>
    <?php $GLOBALS['TL_JAVASCRIPT'][] = 'http://maps.google.com/maps/api/js?language=de&amp;sensor=false'; ?>
    <?php $myMark = 0; ?>
    
    <div class="mod_dlh_googlemaps block">
    
    <div class="dlh_googlemap block" id="dlh_googlemap_*ID*" style="width:800px;height:500px;"><noscript><p>Google Map</p></noscript></div>
    
    <script type="text/javascript">
    <!--//--><![CDATA[//><!--
    
    function gmap*ID*_initialize() {
    	
    	var gmap*ID*_Options = {
    		zoom: *Zoom*, 
    		center: new google.maps.LatLng(*Koordinaten*), 
    		mapTypeId: google.maps.MapTypeId.HYBRID, 
    		draggable: true, 
    		disableDoubleClickZoom: false, 
    		scrollwheel: true, 
    		streetViewControl: false, 
    		mapTypeControl: true, 
    		mapTypeControlOptions: {
    			style: google.maps.MapTypeControlStyle.DEFAULT, 
    			position: google.maps.ControlPosition.TOP_RIGHT, 
    			mapTypeIds: [
    				google.maps.MapTypeId.HYBRID,
    				google.maps.MapTypeId.ROADMAP,
    				google.maps.MapTypeId.SATELLITE,
    				google.maps.MapTypeId.TERRAIN
    			]
    		}, 
    		navigationControl: true, 
    		navigationControlOptions: {
    			style: google.maps.NavigationControlStyle.DEFAULT,
    			position: google.maps.ControlPosition.TOP_LEFT
    		}, 
    		scaleControl: false
    	};
    		
        var gmap*ID* = new google.maps.Map(document.getElementById("dlh_googlemap_*ID*"), gmap*ID*_Options);
    
    <?php foreach ($this->entries as $entry): ?>
    	
    	var gmap*ID*_<?php echo $myMark; ?>_marker = new google.maps.Marker({
    		position: new google.maps.LatLng(<?php echo $entry[data]['googlemap']['value']; ?>), 
    		map: gmap*ID*,
    		title:"<?php echo $entry[data]['title']['value']; ?>"
    		});
    	var gmap*ID*_<?php echo $myMark; ?>_infowindow = new google.maps.InfoWindow({
    		position: new google.maps.LatLng(<?php echo $entry[data]['googlemap']['value']; ?>),
    		zIndex: 1, 
    		content: '<?php echo $entry[data]['title']['value']; ?>'
    		});
    	google.maps.event.addListener(gmap*ID*_<?php echo $myMark; ?>_marker, 'click', function() {
    		gmap*ID*_<?php echo $myMark; ?>_infowindow.open(gmap*ID*);
    		});
    
    <?php $myMark++; ?>
    <?php endforeach; ?>
    
    	if(window.gmap*ID*_dynmap){
    		gmap*ID*_dynmap(gmap*ID*);
    	}
    
    }
    
    window.setTimeout("gmap*ID*_initialize()", 500);
    
    //--><!]]>
    </script>
    
    </div>
    <?php endif; ?>

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •