这让我很精神。
我在Google Maps 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中没有错误,只是没有显示。
问题出在makercluster本身上。
特别是725行。jQuery也包括在内,.indexOf的行为在浏览器之间略有变化。
在Firefox中,它返回正确的-1。
但是chrome返回的是不确定的。
您可以将725行更改为…
return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined;