そのため、マップ上に 2 つのポリゴン レイヤーがあります。これらのポリゴンは、ズーム レベルに依存します。
ズームインすると、最初のレベルのポリゴンを非表示にする (またはリスナーを削除して透明にする) 必要があり、ズームアウトすると、レベル 2 のポリゴンを非表示にして最初のレベルのポリゴンを表示する必要があります。
私の現在の戦略は、最初はポリゴンを透明にし、必要に応じてリスナーが不透明にすることです。ポリゴンの切り替えを実現するには、ズームが変更されたときにリスナーを追加および削除します。
したがって、レベル1ポリゴンの配列とレベル2ポリゴンの配列がありますが、それらを切り替えることができないようです。
これがうまくいかないのはなぜですか?addListener は removeListener と正反対のことをすべきではありませんか?
function zoomedout(map) {
$.each(level2Listeners, function(k,v) {
google.maps.event.removeListener(v);
});
$.each(level1Listeners, function(k,v) {
google.maps.event.addListener(v);
});
}
トグルを達成するための他のより合理的な戦略はありますか?