Frage

Ich habe ein seltsames Problem mit Google Maps, die im IE und im Rest der Browserwelt unterschiedlich zeigen. Ich teste in IE8 und in IE8 -Kompatibilitätsansicht, beide zeigen dasselbe, aber Safari, FF, Chrome handeln in Ordnung und erwartungsgemäß.

Die Seite, an der ich arbeite, lautet: http://afid.staging.dante-studios.com/ Vorderseite befinden sich zwei Platzhalter für Asien und eine für Afrika. Beide scheinen sich in IE fälschlicherweise zu konzentrieren.

Auch die Markierungen und Info -Boxen werden aus einer XML -Datei geladen. Es scheint, dass der IE nicht alle aufgeladen hat.

Ich würde mich freuen, wenn jemand das Licht in das beleuchten kann, da ich eine ganze Weile verbracht habe, um es zu debuggen, aber ich kann eigentlich nichts falsch finden ...

Danke im Voraus

AKTUALISIERENDas Map -Center -Problem wurde freundlicherweise gelöst, aber jetzt ist das Problem bei nicht allen Markern, die noch bestehen bleiben, wenn man den Asienabschnitt (Indien) betrachtet und zwischen dem IE und einem anderen Browser verglichen wird, nicht alle Marker werden angezeigt. Alle Hinweise werden geschätzt.

War es hilfreich?

Lösung

Die Schuld für die map.setCenter() Problem, dass Sie in IE8 kommen, ist auf der $("#map-holder").fadeOut() Methode.

Versuchen Sie es ohne die fadeOut() So und das Zentrieren wird gut funktionieren:

$(".map-overlay-right").click(function () {
    var map = new GMap2(document.getElementById('map-holder'));
//  $("#map-holder").fadeOut('slow', function(){                                    
        var gmarkers = [];  
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        var Asia = new GLatLng(23.684774, 90.087891);
        map.setCenter(Asia, 4); 

        $.get("http://afid.staging.dante-studios.com/xml-feed-google-maps",{},function(xml) {
            $('marker',xml).each(function(i) {
                html = $(this).text();
                lat = $(this).attr("lat");
                lng = $(this).attr("lng");
                label = $(this).attr("label");
                var point = new GLatLng(lat,lng);
                var marker = createMarker(point,label,html);
                map.addOverlay(marker);
            });
        });

//  });
    $("#map-holder").fadeIn('slow');    
});

Verschieben des map.setCenter() außerhalb von fadeOut() Die Methode löst auch das IE8 -Zentrierungsproblem:

$(".map-overlay-right").click(function () {
    var map = new GMap2(document.getElementById('map-holder'));
    $("#map-holder").fadeOut('slow', function(){                                    
        var gmarkers = [];  
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());

        $.get("http://afid.staging.dante-studios.com/xml-feed-google-maps",{},function(xml) {
            $('marker',xml).each(function(i) {
                html = $(this).text();
                lat = $(this).attr("lat");
                lng = $(this).attr("lng");
                label = $(this).attr("label");
                var point = new GLatLng(lat,lng);
                var marker = createMarker(point,label,html);
                map.addOverlay(marker);
            });
        });

    });
    $("#map-holder").fadeIn('slow');    

    var Asia = new GLatLng(23.684774, 90.087891);
    map.setCenter(Asia, 4); 
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top