Pregunta

Tengo un extraño problema con Google Maps que muestra de manera diferente en IE y el resto del mundo navegador. Estoy probando en IE8 y en vista de compatibilidad de Internet Explorer 8, ambos muestran la misma, pero Safari, FF, Chrome todo bien y actuar como se espera.

La página que estoy trabajando es la siguiente: http: //afid.staging.dante- studios.com/ en la parte delantera son dos marcadores de posición uno para Asia y otro para África. Ambos parecen centrar correctamente en IE.

También los marcadores y ventanas de información se cargan desde un archivo XML, parece que el IE no se carga todos ellos hasta bien ....

Le agradecería si alguien puede arrojar alguna luz sobre esto ya que he pasado bastante tiempo hasta el momento de intentar depurar, pero en realidad no puedo encontrar nada malo ...

Gracias de antemano

Actualizar El tema central mapa ha sido amablemente resuelto, pero ahora el problema con que no todos los marcadores que muestran todavía permanece, si uno ha de mirar la sección de Asia (India) y comparar entre IE y cualquier otro navegador, no todos los marcadores están mostrando, será apreciado ninguna pista.

¿Fue útil?

Solución

La culpa por el problema map.setCenter() que vas a encontrar en IE8 es el método $("#map-holder").fadeOut().

Inténtelo sin la fadeOut() como este, y el centrado no tendrán ningún problema:

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

Traslado de la map.setCenter() fuera del método fadeOut() también resuelve el problema de centrado 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); 
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top