MarkerClusterer不仅仅适用于webkit(Chrome和Safari),在Firefox中运行良好?

时间:2010-11-03 12:02:49

标签: jquery ajax maps google-maps-api-3 markerclusterer

这让我很精神。

我正在使用带有Google地图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中没有错误,只是没有显示。

3 个答案:

答案 0 :(得分:4)

问题出在makercluster本身。

专线725。还包括了Jquery,并且.indexOf的行为在浏览器之间略有改变。

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

然而,chrome返回undefined。

您可以通过将第725行更改为...

来解决此问题
return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined;

答案 1 :(得分:0)

乍一看,我看不出这个片段有什么问题。这对我来说都很好看。

您可以使用jsfiddle.net创建一个包含工作演示的页面(在Firefox中),以便我们可以看到它/尝试自己编辑吗?

答案 2 :(得分:0)

我和PrimeFaces有类似的问题。解决方案是确保响应mimeType为text/html