2012-04-15 7 views
1
    google.maps.event.addListener(marker, 'rightclick', (function(marker, i) { 
       return function() { 

       marker.setMap(null); 

       } 
       })(marker, i)); 

私はこのコードをWebから入手しました。これは非常にうまく動作します。私は関数の末尾にある "(marker、i)"の意味は確信しています。誰かがこれについてもう少し説明できますか?このGoogle Maps APIv3コードの(marker、i)の意味は?

ありがとうございました!

答えて

0

新しいスコープを作成することがポイントです。

あなただけ行う場合:

google.maps.event.addListener(marker, 'rightclick', function() { 
     marker.setMap(null); 
    } 
}); 

それは場合、後で変更が失敗します。このコードはおそらくループで使用されます。しかし、iは無意味です。次のように簡略化することができます。

google.maps.event.addListener(marker, 'rightclick', (function(marker) { 
    return function() { 
     marker.setMap(null); 
    } 
})(marker)); 
0

これは自己呼び出し機能です。

(marker, i)は、関数呼び出し時に渡されるパラメータです。

関連する問題