这让我很精神。
我正在使用带有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中没有错误,只是没有显示。
答案 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
。