2011-09-06 15 views
0

私はExtJSとGoogleマップがどれだけうまく連動しているか把握しようとしています。私はこの例で遊んでいます:http://dev.sencha.com/deploy/ext-4.0.0/examples/window/gmap.htmlExtJSとGoogleマップ

私はマップをアドレスしようとすると失われます。私は、プログラムでズームレベルを変更したり、ポリゴンを描画したり、マップ上にポイントを配置したりできます。

私は演奏しているので、私のコードは例のコードと同じではありません。

私はフォームパネルを定義しており、マップを埋め込んでいます。 、そして、

listeners:{ 
      afterrender: { 
       fn: setupWindow, 
       scope: this 
      } 
     } 

setupWindowの内側に私はこれがあります:私は、マップがレンダリングされるのを待つリスナーを持っている

gmap.setzoom(25); 
mapBounds = new gmap.LatLngBounds(
       new gmap.LatLng(responseJson.minY, responseJson.minX), 
       new gmap.LatLng(responseJson.maxY, responseJson.maxX) 
       ); 

をしかし、それはそこに失敗しました。私は間違って何をしていますか?

+0

(実際にあなたの質問に対する回答ではないので、コメントを追加するだけです)。あなたはgmap v3 +素敵なベクターレイヤーへのアクセスを提供するOpenLayersを試しましたか? – pef

+0

私は持っていましたが、例はv2のみでしたか? – jeffkolez

+0

クリックイベントを処理する方法 – Sultan

答えて

2

あなたが問題の1の前の行でgmap.setZoom(25)を呼び出しているので - 私はgmapはそうのようなGMap2のインスタンスであると仮定:

var gmap = new GMap2(...);

それは確かにそうであるならば - そしてnew gmap.LatLngBoundsまたはnew gmap.LatLng必要がありますどちらも関数mapであるため、失敗します(コードに追加しない限り)。あなたはおそらく、代わりに何をすべき

は次のとおりです。

mapBounds = new GLatLngBounds(
        new GLatLng(responseJson.minY, responseJson.minX), 
        new GLatLng(responseJson.maxY, responseJson.maxX) 
       ); 

EDIT:私の仮定を明確にする - あなたはあなたがAPIのV2で行くことにしようとしているようだ使用しようとしているExtJSの例から。

+0

おそらくGMapsも理解できませんが、ここには新しいGMap2(...);私はこれを試してみました:var gmap = ext.get( "gmappanel") – jeffkolez

+0

私はあなたの質問をよく理解していません。 'GMap2(...)'の省略記号が何を意味するのか尋ねていますか?その場合、私はあなたのgmapインスタンスをどのようにインスタンス化したのか分かりません。 'Ext.get( 'gmappanel')'は、単に他の場所に作成したことを意味します。おそらくExtJSアプリケーションのあるパネルの 'initComponent'にあります。 – ZenMaster

+0

私はばかだ。私はあなたの意味を理解しました。ご協力いただきありがとうございます。 – jeffkolez

1

まあ... ExtJSの例はGMap v2で構築されていますが、Google Maps v3を使用しようとしています。

さらに、ZenMasterは、GMap APIを使用しようとすると何らかの混乱を招くと指摘しています。 gmap変数はどこから来ていますか? v3でnew google.maps.LatLngを使用するか、v2でnew GLatLngを使用してください。

+0

ああ...そうだ。 LatLngはV3のみ... V3です。 – ZenMaster