2010-11-03 6 views
0

Это заставляет меня думать.MarkerClusterer не работает только в webkit (Chrome и Safari), отлично в Firefox?

Я использую MarkerCluster с google maps v3, и он отлично работает в FF, однако, когда я (и клиент) запускаю его в Chrome или Safari, кластеры там нет.

Нет ошибок, просто не работает в webkit.

Несколько примечаний: он исходит из jj-jj-загруженного jj-а-а, и он находится в 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 нет, это просто не отображается.

+0

Если код работает, то может ли быть дополнительным код, который не работает в хроме? Убедитесь, что нет ошибок, случающихся ! – Myra

+0

Чтобы повторить, в Chrome нет ошибок, он просто не отображается. – Smickie

ответ

3

Проблема была в самом makercluster.

Линия 725 конкретно. JQuery также был включен, а поведение .indexOf немного изменилось между браузерами.

В firefox он возвращал правильный -1.

Однако хром возвращался не определен.

Вы можете это исправить, изменив линию 725 к ...

return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined; 
+0

У меня такая же проблема, но я не понимаю ответа. Где я должен добавить эту строку? – acrespo

0

С первого взгляда, я не вижу, что случилось с этим фрагментом. Все выглядит хорошо для меня.

Можете ли вы использовать jsfiddle.net, чтобы создать страницу, содержащую рабочую демонстрационную версию (в Firefox), чтобы мы могли ее увидеть/попытаться отредактировать ее самостоятельно?

0

У меня была аналогичная проблема с PrimeFaces. Решение заключалось в том, чтобы убедиться, что ответ mimeType равен text/html.