-1

我有一个谷歌地图应用程序。我去年开发的。我再次尝试了 IE、Edge、Firefox、Chrome(PC 和 Android 手机)和 Safari(iPhone)。效果很好。没有人抱怨过。然后我发现地图图例没有显示在 Edge 和 Firefox 上

这是代码的快照。我已经尽我所能组织了代码。我必须过滤不相关的代码。

下面的屏幕截图表明它在 IE 和 Chrome 下运行。iPhone下的Safari也有类似的输出

在此处输入图像描述 下图显示了 Edge 中的结果。注意所有 X 标记。那些应该是传说

在此处输入图像描述

下图显示了 Firefox 中的结果

在此处输入图像描述

var map;
var gmarkers = [];

$(document).ready(function () {

function initialize() {
        var mapProp = {
        center: new google.maps.LatLng(33, -117), //some arbitrary values
        zoom: 11,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("googleMap"), mapProp);

    google.maps.event.addDomListener(window, 'load', function () {
        initialize();
    });

    $(document).on("click", "#btnSearch", function (e){             
        google.maps.event.trigger(window, 'resize', {});
        //get latitude and logitude values
        var infowindow = new google.maps.InfoWindow({
            content: ''
        });
        //ajax function to get the list of address from database based on dropdowncitylist
        //traced the codes and found out addresses retrieve correctly
        //the list of addresses are stored in data variable
        $.each(data, function (index, value) {
            var latlng = new google.maps.LatLng(value.Latitude, value.Longitude);
            var marker = new google.maps.Marker({
                position: latlng,
                map: map
            });
            gmarkers.push(marker);
            google.maps.event.addListener(marker, 'click', function () {
                infowindow.close();
                infowindow.open(map, marker);
            });
       });//end of clicking function
   });
4

1 回答 1

0

我修改了您的代码,似乎缺少}. 我搬走$(document).ready(function () {了,这个 initialize()函数不会被调用。我为要测试的代码设置了一个标记值,它在所有浏览器中运行良好,标记将出现。你可以查看我的demo,在Edge(FireFox 也是一样的)中点击后的效果是这样#btnSearch的。

<script>        
    var map;
    var gmarkers = [];
    var latlng = new google.maps.LatLng(-25.363882, 131.044922);

        function initialize() {
            var mapProp = {
                center: latlng, 
                zoom: 11,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
        }

        google.maps.event.addDomListener(window, 'load', function () {
            initialize();
        });

        $(document).on("click", "#btnSearch", function (e) {
            google.maps.event.trigger(window, 'resize', {});
            var infowindow = new google.maps.InfoWindow({
                content: ''
            });
            //$.each(data, function (index, value) {
                //var latlng = new google.maps.LatLng(value.Latitude, value.Longitude);
                var marker = new google.maps.Marker({
                    position: latlng,
                    map: map
                });
                gmarkers.push(marker);
                google.maps.event.addListener(marker, 'click', function () {
                    infowindow.close();
                    infowindow.open(map, marker);
               // });
            });
        });
</script>

<body>
    <div id="googleMap" style="width:500px;height:380px;"></div>
    <input type="button" id="btnSearch" value="search" />
</body>
于 2019-07-10T08:11:42.563 回答