Firefox 20.0 の Google マップ (v3 を使用) (Google Chrome では問題なく動作) で数日または数週間前から問題が発生しましたが、以前は問題なく動作していました。マーカーを動的にロードする(Ajax を使用してデータベースからロードする) と、コンソール (Firebug) に次のように表示されます。
IndexSizeError: Index or size is negative or greater than the allowed amount
(102 out of range 43)
スケーリング画像とのリンクがあると思いましたが(この投稿を見ました)、そうではないようです。MarkerImage の 2 番目と 5 番目のパラメーターで、他の幅と高さを設定しようとしました。同じエラー。
編集: ScaledSize を正確に指定しない場合、エラーは発生しないことに気付きました。これは、Firefox が写真のサイズを変更できないことを意味しますが、... 必要があります。:(
たくさんのコードがあり、マーカーが読み込まれているときにエラーがコンソールに表示されるので、ここではそれに対応するコードを示します。
$.each(data, function(i) {
// Where "data" is the json result of my ajax call
var largeur = 80 + (20 * (map.getZoom() - 9));
var ratio = largeur / 80;
var hauteur = 56.8 * ratio;
var marker = new google.maps.Marker({
map: map,
icon: new google.maps.MarkerImage("../images/realisations/" + data[i].image,
new google.maps.Size(largeur, hauteur),
new google.maps.Point(0, 0),
new google.maps.Point(0, 0),
new google.maps.Size(largeur, hauteur)
),
position: new google.maps.LatLng(data[i].latitude, data[i].longitude),
title: data[i].title
});
});
Url :こちら(ページ下部の api)
>> 黒いナビゲーションで、「Réalisations」というラベルのチェックボックスをクリックします。コンソールでエラーが発生します。
ブラウザ:
- Firefox 20.0:エラー...
- Google Chrome 26.0 :動作します
- IE 9:動作します
- Safari 5.1.7 :動作します
- Opera 12.14 :動作します
誰かが私を助けることができますか?