【问题标题】:Google Maps Markers aren't showing on map with IE [closed]谷歌地图标记没有显示在 IE 的地图上 [关闭]
【发布时间】:2014-07-26 16:03:29
【问题描述】:

因为 IE,我真的处于停滞状态。所以我有一个带有地图的网站,我正在使用 geocodezip 的 js 扩展名从 XML 文件中下载数据,以放置标记和相应的信息窗口。当我使用 Firefox、Chrome 和 Safari 打开网站时一切正常,但标记不会显示在 IE 上。但是,我还使用一个单独的标记来定位用户的位置,这也适用于 IE,所以我不确定问题是图像、我定义的标记还是 xml 下载部分。出于某种原因,我的横幅 div 的显示模式也不适用于 IE,但这是我正在研究的另一个问题。该网站仍处于 WIP 中,但我将其保留几天:Website

这是我定义图标图像的地方,然后是标记本身:

    var image = {
        url: 'Images/shibatiny.png',
        scaledSize: new google.maps.Size(90,44),
        origin: new google.maps.Point(0, 0),
        anchor: new google.maps.Point(45,22)    
        //backgroundPosition: "-50 0"
    };
        var marker = new google.maps.Marker({
            position: latlng,
            icon: image,
            shape: shape,
            map: map,
            title: name,
            zIndex: Math.round(latlng.lat()*-100000)<<5
        });

这是我从 xml 下载数据并定义 infowindow 内容“html”的部分(抱歉代码混乱,需要清理它):

        downloadUrl("XML/database.xml", function(doc) {
            var xml = xmlParse(doc);
            var markers = xml.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {
                var lat = parseFloat(markers[i].getAttribute("lat"));
                var lng = parseFloat(markers[i].getAttribute("lng"));
                var point = new google.maps.LatLng(lat,lng);
                var name = markers[i].getAttribute("name");
                var category1 = markers[i].getAttribute("category1");
                var category2 = markers[i].getAttribute("category2");
                var address = markers[i].getAttribute("address");
                var city = markers[i].getAttribute("city");
                var postcode = markers[i].getAttribute("postcode"); 
                var state = markers[i].getAttribute("state");   
                var country = markers[i].getAttribute("country");
                var phone = markers[i].getAttribute("phone");   
                var email = markers[i].getAttribute("email");
                var website = markers[i].getAttribute("website");
                var description = markers[i].getAttribute("description");
                var facebook = markers[i].getAttribute("facebook");     
                var twitter = markers[i].getAttribute("twitter");                                                                                                   
                var html = '<div id="infoWindow">';
                html += '<b style="font-size:16px; line-height:100%">'+name+'<\/b>';
                html += '<br/><img width="350px" height="6px" src="Images/line1.png"><br/><p style="color:#676868; line-height:2px !important">'+address+'<\/p>';
                html += '<p style="color:#676868; line-height:2px !important">'+city+', '+postcode+'<\/p>';
                html += '<p style="color:#676868; line-height:2px !important">';                    
                if (state) {var html = html + state+', '};                  
                html += ''+country+'<\/p>';
                if (phone) {var html = html + '<p style="padding-top:5px !important; line-height:2px !important"><b>Phone: <\/b>'+phone+'<\/p>'};
                if (website) {var html = html + '<p style="line-height:2px !important"><b>Web: <\/b>'+website+'<\/p>'};
                if (email) {var html = html + '<p style="line-height:2px !important"><b>Email: <\/b>'+email+'<\/p>'};                   
                //if (phone) {var html = html + '<b>Phone: <\/b>'+phone+'<br/>'};       
                //if (website) {var html = html + '<b>Web: <\/b>'+website+'<br/>'};     
                //if (email) {var html = html + '<b>Email: <\/b>'+email+'<br/>'};               
                if (description) {var html = html + '<p>"' +description+ '"<\/p>'};
                if (website) {var html = html + '<div class="infoweb"><a target="_blank" href="'+website+'">Website</a></div>'};
                if (email) {var html = html + '<div class="infoweb"><a href="mailto:'+email+'">Email</a></div>'};
                if (phone) {var html = html + '<div class="infoweb"><a href="tel:'+phone+'">Call</a></div>'};                   
                html += '<br/>';
                //html += '<a target="_blank" href="'+website+'">Website<br/><br/><\/a>';               
                //html += '<\/div>';
                html += '<div class="infoweb2">';
                if (email) {var html = html + '<a href="mailto:'+email+'" style="text-decoration:none"><img class="infobottom" width="30px" src="Images/emailsmall.png"> <\/a>'};
                if (facebook) {var html = html + '<a target="_blank" href="'+facebook+'" style="text-decoration:none"><img class="infobottom" width="30px" src="Images/facebooksmall.png"> <\/a>'};                 
                if (twitter) {var html = html + '<a target="_blank" href="'+twitter+'" style="text-decoration:none"><img class="infobottom" width="30px" src="Images/twittersmall.png"><\/a>'}; 
                var html = html + '<\/div>';            
                var html = html + '<\/div>'; //(if use this, remove html += '<\/div>'; )
                var marker = createMarker(point,name,html,category1,category2,address,country,city);
            }

【问题讨论】:

    标签: xml image internet-explorer google-maps-api-3 google-maps-markers


    【解决方案1】:

    我收到一个 javascript 错误:

    Webpage error details
    
    Message: 'documentElement' is null or not an object
    Line: 571
    Char: 8
    Code: 0
    URI: http://www.dogeglobal.com/
    

    IE 认为 your XML 无效。

    The XML page cannot be displayed 
    Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later. 
    
    --------------------------------------------------------------------------------
    
    An invalid character was found in text content. Error processing resource 'http://www.dogeglobal.com/XML/database.xml'. Li...
    
    <marker lat="49.222402" lng="17.654174" name="CEU Servers" category1="web" category2="Computer Service" address="J.A. Bat...
    

    它有字符编码问题。 w3.org

    【讨论】:

      猜你喜欢
      • 2014-01-07
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多