Некоторые маркеры Google Map не отображаются в Internet Explorer, но отображаются во всех других браузерах - PullRequest
1 голос
/ 17 декабря 2009

У меня есть карта Google на нашем сайте, на которой есть список маркеров, которые вводятся с использованием следующего кода:

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

XML-файл, который их вводит, выглядит следующим образом:

<?xml version="1.0"?>
<markers> 
    <marker id="1" lat="11.547812" lng="104.915957" label="Foo"> 
        <infowindow> 
            <![CDATA[HTML GOES HERE]]>
        </infowindow> 
    </marker> 
    <marker id="2" lat="11.547812" lng="104.915957" label="Bar"> 
        <infowindow> 
            <![CDATA[HTML GOES HERE]]>
        </infowindow> 
    </marker> 
    <marker id="3" lat="11.547812" lng="104.915957" label="Baz"> 
        <infowindow> 
            <![CDATA[HTML GOES HERE]]>
        </infowindow> 
    </marker>  
</markers>

Почему-то не все маркеры отображаются в Internet Explorer. IE выдает эту ошибку:

Сведения об ошибке веб-страницы

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
Timestamp: Thu, 17 Dec 2009 12:39:16 UTC


Message: Invalid argument.
Line: 143
Char: 18
Code: 0
URI: http://maps.gstatic.com/intl/en_ALL/mapfiles/193c/maps2.api/main.js

Но остальные браузеры вроде бы в порядке и ведут себя хорошо. Часть кода, которая выдает ошибку, выглядит следующим образом:

map.addOverlay(marker);

Сайт можно увидеть здесь: http://afid.staging.dante -studios.com / и нажатие на Азию лучше всего покажет ошибку, так как маркеры внизу Индии отображаются во всех браузерах, но не в IE .

Я потратил некоторое время, пытаясь решить эту проблему, но я никуда не денусь. Если кто-то может пролить свет на это, я был бы очень признателен.

1 Ответ

2 голосов
/ 17 декабря 2009

Маркер 42 в вашем маркере XML имеет неправильную широту:

<marker id="42" lat="-12.968270," lng="28.633699" label="Ndola, Zambia">

Обратите внимание на запятую в атрибуте lat.

...