Domanda

Ho un problema strano con Google Maps che mostra in modo diverso in IE e il resto del mondo del browser. Sto testando in IE8 e in vista IE8 compatibilità, sia mostrare la stessa, ma Safari, FF, Chrome tutto agire bene e come previsto.

La pagina su cui sto lavorando è questo: http: //afid.staging.dante- studios.com/ nella parte anteriore sono due titolari di posto uno per l'Asia e uno per l'Africa. Entrambi sembrano centrare in modo non corretto in IE.

Anche i marcatori e le scatole informazioni vengono caricati su da un file XML, sembra che IE non sta caricando tutti loro fino neanche ....

Le sarei grato se qualcuno può far luce su questo, come ho trascorso un bel po 'finora il tentativo di eseguire il debug, ma che attualmente non posso trovare niente di sbagliato ...

Grazie in anticipo

Aggiorna La questione mappa centro è stato gentilmente risolto, ma ora il problema con non tutti i marcatori che mostra ancora rimane, se uno è quello di consultare la sezione Asia (India) e confrontare tra IE e qualsiasi altro browser, non tutti i marcatori stanno mostrando, saranno apprezzati indizi.

È stato utile?

Soluzione

La colpa per il problema map.setCenter() che hai trovato in IE8 è il metodo $("#map-holder").fadeOut().

Prova senza il fadeOut() come questo, e il centraggio funziona bene:

$(".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');    
});

Spostando il map.setCenter() fuori del metodo fadeOut() risolve anche il problema di centraggio IE8:

$(".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); 
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top