谷歌地图API GeoJSON不适用于IE 11,但适用于Chrome

Google Maps API GeoJSON not working with IE 11, but works in Chrome

本文关键字:适用于 Chrome IE GeoJSON 不适用 谷歌地图 API      更新时间:2023-09-26

我有一个谷歌地图,它从Visual Studio 2013中本地主机上运行的GeoJSON文件中加载标记。它也在chrome中运行(来自IIS服务器),但不会在IE版本11中运行。映射会显示,但JSON文件中的标记不会显示。为什么这在IIS 8上的Chrome和通过VS的IE 11中都能工作,而在IIS 8的IE 11中却不能工作?

    var map;
    var infowindow = new google.maps.InfoWindow({ });
    function initialize() {
            map = new google.maps.Map(document.getElementById('googleMap'), {
            center: new google.maps.LatLng(15.508742, -0.120850),
            zoom: 2,
            mapTypeId: google.maps.MapTypeId.HYBRID,
            scrollwheel: false 
        });
        google.maps.event.addListener(map, 'click', function() {
            infowindow.close();
        });
        // Load a GeoJSON from the same server as our demo.
        map.data.loadGeoJson('locations.json');
        // Set event listener for each feature.
        map.data.addListener('click', function (event) {
            infowindow.setContent("<div> " + event.feature.getProperty('city') + " " + event.feature.getProperty('date') + "<br>" + event.feature.getProperty('course') + "<br>Sponsored by: " + event.feature.getProperty('sponsor') + "<br>" + "<a href=" + "/Training.aspx" + ">Click here to Register</a>" + "</div>");
            infowindow.setPosition(event.latLng);
            infowindow.setOptions({ pixelOffset: new google.maps.Size(0, -34) });
            infowindow.open(map);
        });
        map.data.addListener('mouseover', function (event) {
            //infowindow.setContent("<div class='"map_info_box'" > " + event.feature.getProperty('city') + " " + event.feature.getProperty('date') + "<br>" + event.feature.getProperty('course') + "<br>Sponsored by: " + event.feature.getProperty('sponsor') + "<br>" + "<a href=" + "/Training.aspx" + ">Click here to Register</a>" + "</div>");
            infowindow.setContent("<div> " + event.feature.getProperty('city') + " " + event.feature.getProperty('date') + "<br>" + event.feature.getProperty('course') + "<br>Sponsored by: " + event.feature.getProperty('sponsor') + "<br>" + "<a href=" + "/Training.aspx" + ">Click here to Register</a>" + "</div>");
            infowindow.setPosition(event.latLng);
            infowindow.setOptions({ pixelOffset: new google.maps.Size(0, -34) });
            infowindow.open(map);
        });
    }
    google.maps.event.addDomListener(window, 'load', initialize);
IE中的兼容性视图阻止加载geoJSON文件。我放了

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

在页面顶部,它解决了问题。

非常感谢geocodezip,他在上面的评论中为我指明了正确的方向