MarkerClusterer ne fonctionne pas seulement dans WebKit (Chrome et Safari), bien dans Firefox?
-
28-09-2019 - |
Question
Cela me conduit mentale.
J'utilise MarkerCluster google maps v3, et il fonctionne très bien dans FF, mais quand je (et le client) un coup de pied dans Chrome ou Safari clusters arn't là.
erreurs Non, juste ne fonctionne pas dans WebKit.
Quelques notes. Il vient de certains JSON ajax-chargé et il est en jquery
Ceci est la fonction qui prend soin de l'ajouter:
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);
}
Vive!
Juste pour rappel, il n'y a aucune erreur dans Chrome, il est tout simplement pas afficher.
La solution
Le problème était avec makercluster lui-même.
Ligne 725 spécifiquement. Jquery a également été inclus et le comportement des .indexOf a été légèrement changé entre les navigateurs.
Dans Firefox, il retournait le bon -1.
Cependant chrome retournais non défini.
Vous pouvez le fixer par la ligne 725 à changer ...
return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined;
Autres conseils
J'ai eu un problème similaire avec PrimeFaces. La solution était de vous assurer que la réponse est mimeType text/html
.