MarkerClusterer不仅在Webkit(Chrome和Safari)中工作,在Firefox中很好?
-
28-09-2019 - |
题
这使我精神上。
我正在使用Google Maps V3使用MarkerCluster,并且在FF中效果很好,但是当我(和客户端)在Chrome或Safari中踢起来时,Clusters ar n no Not。
没有错误,只是不在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没有错误,只是没有显示。
解决方案
问题在于makercluster本身。
第725行。还包括jQuery,.Indexof的行为在浏览器之间略有更改。
在Firefox中,它返回正确的-1。
然而,镀铬返回不确定。
您可以通过将725行更改为...
return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined;
其他提示
乍一看,我看不到这个片段有什么问题。一切对我来说都很好。
你可以使用吗? jsfiddle.net 要创建一个包含有效演示的页面(在Firefox中),以便我们可以看到/尝试自行编辑?
我在PrimeFaces上也有类似的问题。解决方案是确保响应模仿是 text/html
.
不隶属于 StackOverflow