MarkerClusterer non funziona solo in WebKit (Chrome e Safari), bene in Firefox?
-
28-09-2019 - |
Domanda
Questo mi sta facendo mentale.
sto usando MarkerCluster con Google Maps v3, e funziona bene in FF, tuttavia quando ho (e il client) calci in Chrome o Safari i cluster ci arn't.
Nessun errore, semplicemente non funziona in WebKit.
Alcune note:. È venuta da alcuni JSON ajax-caricato ed è in jquery
Questa è la funzione curando l'aggiunta di:
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);
}
Cheers!
Proprio per ribadire, non ci sono errori in Chrome, non è solo la visualizzazione.
Soluzione
Il problema era con makercluster stessa.
Linea 725 in particolare. Jquery è stata anche inclusa e il comportamento di .indexOf è stato modificato leggermente tra i browser.
In Firefox tornava il corretto -1.
Tuttavia Chrome è stato restituisce undefined.
È possibile risolvere il problema modificando la linea 725 per ...
return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined;
Altri suggerimenti
A prima vista, non riesco a vedere cosa c'è di sbagliato in questo frammento. Tutto sembra buono per me.
Si può utilizzare jsfiddle.net per creare una pagina che contiene una demo di lavoro (in Firefox) in modo che possiamo vederlo / tenta di modificare per conto nostro?
Ho avuto un problema simile con primefaces. La soluzione era quella di assicurarsi che la risposta è mimeType text/html
.