这快把我逼疯了。
我正在使用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没有错误,只是没有显示而已。
发布于 2010-11-16 23:22:09
问题出在makercluster本身。
特别是第725行。Jquery也被包括在内,.indexOf的行为在不同的浏览器之间略有不同。
在firefox中,它返回正确的-1。
然而,chrome返回未定义的内容。
您可以通过将725行更改为...
return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined;发布于 2010-11-12 02:39:51
乍一看,我看不出这段代码有什么问题。在我看来一切都很好。
你能用jsfiddle.net创建一个包含工作演示的页面(在火狐中),这样我们就可以看到它/尝试自己编辑它吗?
发布于 2010-11-14 21:27:30
我在PrimeFaces上也遇到过类似的问题。解决方案是确保响应mimeType为text/html。
https://stackoverflow.com/questions/4086837
复制相似问题