MarkerClusterer не работает только в webkit (Chrome и Safari), хорошо в Firefox? - PullRequest
1 голос
/ 03 ноября 2010

Это сводит меня с ума.

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

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

Несколько замечаний: он исходит от некоторого json, загруженного ajax, и в 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);
    }

Cheers!

Просто повторюсь, в Chrome нет ошибок, он просто не отображается.

Ответы [ 3 ]

4 голосов
/ 16 ноября 2010

Проблема была с самим макеркластером.

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

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

Однако Chrome возвращал undefined.

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

return this.markers_.indexOf(marker) != -1 && this.markers_.indexOf(marker) != undefined;
0 голосов
/ 14 ноября 2010

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

0 голосов
/ 11 ноября 2010

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

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

...