0

配列を介したこのループについてサポートが必要です。現在、3つのドロップダウンメニューがあります。配列をループして、ドロップダウンメニューの値が配列の値と一致する場合は、関数(マップ上にマーカーをプロットする)を実行しようとしています。それはすべて機能します。

ただし、3つのドロップダウンメニューはすべて現在値と一致している必要があります。1つの値が一致し、残りがnullである場合、これらすべての場所をプロットするにはどうすればよいですか?それは理にかなっていますか?1つまたは2つ、あるいは3つのドロップダウンメニューが選択されていないことを考慮する必要があります。さらにコードを表示する必要がある場合はお知らせください。

for (var i = 0; i <mymarkers.length; i++) {
    if (mymarkers[i].type==type&&mymarkers[i].day==day&&mymarkers[i].time==time){
        mymarkers[i].setMap(MYMAP.map);
    }else{
        mymarkers[i].setMap(null);
    }
}

これは特に地図の問題ではないかもしれませんが、ロケーションマップの仕上げに関連する問題です。リンクは次のとおりです:http://mycwebdesign.com/meetings.php。「MA」、「Friday」、「Late」を選択すると、動作することがわかります。

4

1 に答える 1

0

プロパティを持つマーカーに必要なのは、そのプロパティが選択されたプロパティと一致する(trueマップ上に配置される)か、選択されたプロパティが--であるため、テストもtrueです。

if ((mymarkers[i].type==type || type=='--') &&
    (mymarkers[i].day==day   || day =='--') &&
    (mymarkers[i].time==time || time=='--')) {

その場合type=='--'、それが何であるかは問題ではありません。mymarkers[i].typeそのテストはになりますtrue

上記の3行のコードをすべて1行にする必要があります。分割すると、ここで何が起こっているのかを簡単に確認できます。

于 2012-05-14T15:10:32.140 に答える