質問

これは私を精神的に駆り立てています。

Google Maps V3でMarkerClusterを使用していますが、FFでは正常に動作しますが、ChromeまたはSafariで私(およびクライアント)がキックアップすると、クラスターがありません。

エラーはありません。WebKitで機能していません。

いくつかのメモ:それはいくつかのajaxに搭載された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で)機能するデモを含むページを作成して、それを見ることができます/自分で編集してみませんか?

PrimeFacesにも同様の問題がありました。解決策は、応答マイメタイプがあることを確認することでした text/html.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top