Min*_*ure 1 ajax maps jquery google-maps-api-3 markerclusterer
这让我精神恍惚。
我在谷歌地图 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);
}
Run Code Online (Sandbox Code Playgroud)
干杯!
重申一下,Chrome 中没有错误,只是没有显示。
问题出在 makercluster 本身。
特别是第 725 行。Jquery 也包括在内,.indexOf 的行为在浏览器之间略有变化。
在 Firefox 中,它返回了正确的 -1。
但是 chrome 返回未定义。
您可以通过将第 725 行更改为...
return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined;
Run Code Online (Sandbox Code Playgroud)