一尘不染

MarkerClusterer不能仅在Webkit(Chrome和Safari)中运行,在Firefox中可以吗?

ajax

这让我很精神。

我在Google Maps
v3中使用了MarkerCluster,它在FF中可以正常工作,但是当我(和客户端)在Chrome或Safari中启动它时,群集就不存在了。

没有错误,只是不能在webkit中工作。

一些注意事项:它来自一些ajax加载的json,并且在jquery中。

该函数负责添加:

add_clusters: function() {
        markers = [];
        $.each( interpreters, function ( i, interpreter ){
            //maps.add_postcode_marker(i, 'interpreter');
            var latLng = new google.maps.LatLng(interpreter.lat, interpreter.lng);
            //, map: map
            interpreters[i].marker = new google.maps.Marker({ position: latLng });
            maps.add_info_box(i, "interpter");
            markers.push(interpreters[i].marker);
            app.log(interpreters[i].marker);
        });
        markerCluster = new MarkerClusterer(map, markers);
    }

干杯!

重申一下,Chrome中没有错误,只是没有显示。


阅读 289

收藏
2020-07-26

共1个答案

一尘不染

问题出在makercluster本身上。

特别是725行。jQuery也包括在内,.indexOf的行为在浏览器之间略有变化。

在Firefox中,它返回正确的-1。

但是chrome返回的是不确定的。

您可以将725行更改为…

return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined;
2020-07-26