Маркеровщик не работает только в WebKit (Chrome and Safari), хорошо в Firefox?

StackOverflow https://stackoverflow.com/questions/4086837

Вопрос

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

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

Нет ошибок, просто не работающих в WebKit.

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

Ваше здоровье!

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

Это было полезно?

Решение

Проблема была с самой MakerCluster.

Строка 725 конкретно. Был также включен jQuery, и поведение .indexof немного изменено между браузерами.

В Firefox это возвращалось правильно -1.

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

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top