2010-12-12 10 views
0

私はGoogle Maps API v3を使用しており、現在のズームレベルに基づいてマーカーをオフセットする必要があります。イベントトリガでJSのグローバル変数を設定する - Google Maps API

Iグローバル変数current_zoom_levelを有し、ズームイン/アウトのイベントリスナー:

google.maps.event.addListener(マップ、 'zoom_changed'、関数(){ current_zoom_level = map.getZoom( ); アラート(current_zoom_level); });

このビットは、初期化コードとオフセットを計算するコードで試しました。アラートは正しい現在のズームレベルを表示しますが、build_loan_markers()(オフセットを計算する場所)にアクセスすると、current_zoom_levelは未定義です。

function build_loan_markers() {
var offset; アラート(current_zoom_level); if(!window.current_zoom_level){ window.current_zoom_level = 1; } オフセット= 1 /(window.current_zoom_level^2); アラート( 'zoom:' + current_zoom_level + 'offset:' + offset); など。 }

どうすればこの変数をグローバルに設定できますか?

+0

あなたの投稿にコードを書式設定してください。 – plexer

答えて

0

変数をグローバルにするには、関数定義の外で宣言するだけです。

var current_zoom_level = 0; 

function something() { 
    // Add your listener here 
} 

function build_loan_markers() { 
    alert(current_zoom_level); 
} 

変数にwindow.current_zoom_levelとしてアクセスする必要はありません。あなたのコードから2つのうちのどちらが機能しているかは不明ですが、問題を示すサイトへのリンクを投稿することを検討してください。

関連する問題