1

这让我很精神。

我将 MarkerCluster 与谷歌地图 v3 一起使用,它在 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 中没有错误,只是没有显示。

4

3 回答 3

5

问题出在 makercluster 本身。

特别是第 725 行。Jquery 也包括在内,并且 .indexOf 的行为在浏览器之间略有改变。

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

但是 chrome 返回未定义。

您可以通过将第 725 行更改为...来修复它

return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined;
于 2010-11-16T15:22:08.660 回答
0

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

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

于 2010-11-11T18:39:51.260 回答
0

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

于 2010-11-14T13:27:29.907 回答