次のように定義された配列「markerGroups」があります。
var markerGroups = {"foo": [], "bar": [], "foobar": []};
この配列は、Google マップにすべてのマーカーを格納するために使用されます。ご覧のとおり、マーカーを保存する 3 つのカテゴリがあります。1 つのマーカーは 1 つのカテゴリにのみ存在し、他のカテゴリには存在しません。各マーカーは、一意の ID によっても識別されます。たとえば、ID は 1422 です。
今度は、たとえば次のようにして到達できるように、このグループにマーカーを追加したいと思います
console.log(markerGroups.foo[1422]);
それがそのカテゴリの唯一のマーカーであっても。また、カテゴリから完全に削除できる必要があります。
次のようにmarkerGroupsを定義することで、これを可能にしようとしました:
var markerGroups = {"foo": {}, "bar": {}, "foobar": {}};
この行は、マーカーがマーカーとして定義されている関数内にあり、カテゴリが関数に渡され、関数にマーカーを格納する場所を伝えます。
markerGroups[category][marker.ID] = marker;
これはうまく機能しますが、マーカーがマップに表示されなくなりました。
なぜ、またはどのようにこれをより良い方法で行うことができるのでしょうか?