2011-01-19 13 views
0

にない機能は、私がmap.GetZoom(のような可変ズームを設定したい)が、私はChromeとFirefoxの両方で、次のエラーを取得されています:キャッチされないChromeの例外TypeErrorとFirefox

クローム

Uncaught TypeError: Object #<an Object> has no method 'getZoom' 

Firefoxの

gmap.getZoom is not a function 
zoom = gmap.getZoom(); 

最初の質問私のコードにはどのような誤りがありましたか?

にDefault.js

window.gmap = { 
zoom_Changed: function() { 

zoom = gmap.getZoom(); 

if(zoom > 15) { 
    document.write("hello"); 
} else { 
} 
} 
}; 

編集: GMAPは私のviews.pyに定義されているとzoom_Changed機能は、私のviews.pyのイベントリスナーのためです。

views.py

maps.event.addListener(gmap, 'zoom_changed', 'gmap.zoom_Changed'); 
+0

Googleマップを使用していますか?なぜなら、そうでなければ、単に 'gmap'オブジェクトを作成しているからです。あなたは 'gmap.getZoom'を呼び出しますが、それは決して定義しません。 – sdleihssirhc

+0

ええ、私はGoogleマップを使用しています。 Gmapは私のDjango views.pyで定義されています。 – silverbtf

答えて

0

代わりのzoom = gmap.getZoom();、それはzoom = this.getZoom();する必要があります。

0

getZoom()またはGetZoom()ですか?ケーシングは質問とコードの例では異なります。

@silverbtfが言っていることは部分的に正しいと私は信じている(私がネットブックをテストするのは難しい)。ただし、オブジェクトリテラル(window.gmap = {...})にgmapを再度設定すると、windowオブジェクトに接続されている既存のgmap変数が消去されます。

あなたは、おそらくこのようなあなたのコードを書き換えることができます:

gmap.zoom_Changed = function() { 
    var zoom = this.getZoom(); // or .GetZoom() 
    if (zoom > 15) { 
     console.log('over 15'); 
    } else { 
     console.log('under 15'); 
    } 
} 

この方法は、あなたがそれを離れて吹くのではなく、既存のgmapに新しい方法を装着しています。

関連する問題