JQuery の $.inArray 関数に問題があります (indexOf も試しました)
私のコード:
var branches = circles[i].branches;
var counter = 0;
for (var j = 0; j < branches.length; j++) {
var circle_branch = branches[j];
var index = $.inArray( circle_branch, activeBranchSettings);
if (index == -1)counter++;
}
if(counter == 0) circles[i].setMap(map);
そのため、Google Maps API を使用しており、マーカーを切り替えるいくつかのカテゴリ (ブランチ) を含むコントロール パネルがあります。各円 (マーカー) は複数のブランチを持つことができ、それらの ID は各円に添付されます。そのため、ブランチをループして、他の配列 (activeBranchSettings) でその ID を見つけたいと考えています。一致するものがないたびに、カウンターを増やします。最終的にカウンターが 0 の場合は、円をオンに切り替えます。したがって、これは、どのマーカーを表示すべきでなく、どのマーカーを表示すべきかを示しています。
それがそれを解決する完璧な方法であるかどうかにかかわらず、問題は
var index = $.inArray( circle_branch, activeBranchSettings);
毎回-1を返します!値は配列のその時点にあり、「circle_branch」を .toString() で文字列に変換しようとしましたが、まだ変更はありません。何かアイデアはありますか?