سؤال

هذا يقودني العقلية.

أنا أستخدم MarkerCluster مع Google Maps 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);
    }

هتافات!

فقط للتكرار ، لا توجد أخطاء في Chrome ، إنها ليست مجرد عرض.

هل كانت مفيدة؟

المحلول

كانت المشكلة مع MakerCluster نفسها.

الخط 725 على وجه التحديد. تم تضمين jQuery أيضا وتم تغيير سلوك .indexof قليلاً بين المتصفحات.

في Firefox كان يعيد الصحيح -1.

ومع ذلك كان كروم يعود غير محدد.

يمكنك إصلاحه عن طريق تغيير السطر 725 إلى ...

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

نصائح أخرى

في لمحة ، لا أستطيع أن أرى ما هو الخطأ في هذا المقتطف. كل شيء يبدو جيدا بالنسبة لي.

هل تستطيع استعمال jsfiddle.net لإنشاء صفحة تحتوي على عرض تجريبي عاملة (في Firefox) حتى نتمكن من رؤيتها/محاولة تحريرها بمفردنا؟

واجهت مشكلة مماثلة مع PrimeFaces. كان الحل هو التأكد من أن استجابة محاكاة text/html.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top