javascript - 谷歌地图不适用于 IE

标签 javascript google-maps

我有一个谷歌地图显示在一个页面上,它在除 IE 8 之外的其他浏览器上都可以正常工作,不确定是否适用于上述 IE 版本..

问题是大多数用户使用 IE,我想解决这个问题,为什么这在 IE 上不起作用?

$table = "";
        while ( $row = mysql_fetch_array($result)) {

            $table .= "<table border = \"1\" width=\"800px\">  

                    <tr><td style = \"background:#EEEEEE;\"><b>Arka</b></td>   <td align=\"left\" width= \"220px\" style = \"background:#EEEEEE;\">{$row['arka']}</td> <td width = \"480px\" rowspan = \"4\"> <div style = \"width:480px; height:230px;\" id= \"div-{$row['id']}\">Map here</div></td> </tr>
            <tr><td><b>Orari</b></td>  <td align=\"left\">{$row['orari']}</td></tr>  
            <tr><td><b>Pauza</b> </td>  <td align=\"left\">{$row['pauza']}</td></tr>  
            <tr><td><b>Shtune</b></td> <td align=\"left\">{$row['shtune']}</td></tr>  
            </table> <br>";

            echo '<script type="text/javascript" language="javascript">loadMap("'.$row['adresa'].'",'.$row['id'].');</script>';

            }
            echo $table;
                ?>

这里是加载 map 的函数:

function loadMap(street,div_id) {


$.ajax({ 
        type: 'GET', 
        url: "http://maps.googleapis.com/maps/api/geocode/json?address="+street+",Prishtina&sensor=true", 
        dataType: 'json',
        success: function (data) { 

            $.each(data, function() {
                $.each(this, function(key, value) {
                    switch (key) {

                        case "lat":

                        alert(value) // access to this node works fine                      
                        break;

                        case "lng":

                        alert(value) // access to this node works fine                      
                        break;

                        default: 
                        //window.alert(divid);

                        var myCenter=new 
           google.maps.LatLng(value.geometry.location.lat,value.geometry.location.lng);
                        var mapProp = {
                            center: myCenter,
                            zoom:17,
                            mapTypeId: google.maps.MapTypeId.ROADMAP
                        };

                        var map = new           
                            google.maps.Map(document.getElementById("div-" +  
                            div_id),mapProp);
                        var marker = new google.maps.Marker({
                            position: myCenter,
                            title:'Click to zoom',
                            //icon: 'img/logo3.png'


                        });

                        marker.setMap(map);

        // Zoom to 9 when clicking on marker
        google.maps.event.addListener(marker,'click',function() {
            map.setZoom(9);
            map.setCenter(marker.getPosition());
        });

        break;
           }       
               });
                   });
                   }
                   });

最佳答案

使用任何基于 Canvas 的东西(几乎所有 Google 对象都是)。您需要包括excanvas .

只需在 HTML 的 head 标记中添加以下内容即可。

<script language="javascript" type="text/javascript" src="Path/to/excanvas.min.js"></script>

要使其仅在 IE 中加载,请执行以下操作:

<![if !IE]>
    <script language="javascript" type="text/javascript" src="Path/to/excanvas.min.js"></script>
<![endif]>

关于javascript - 谷歌地图不适用于 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17571763/

相关文章:

javascript - 是否可以在 React Typescript 中将组件 prop 接口(interface)与另一个 prop 一起使用?

android - 谷歌地图抛出空指针异常

iOS。从位置创建到谷歌地图的网络链接

css - 如何使用 bootstrap 3.0 像 foursquare 一样显示 map

Javascript 不包括 jQuery 插件?

javascript - PDF.js 在打印时插入空白页

javascript - 从 DOM 元素中提取属性

javascript - 从跟踪代码中删除管道字符?

javascript - 在另一个变量中使用变量

Android:随着设备移动在mapv2上绘制路径