1

興味深い問題があります。ユーザーがGoogleマップV3のマーカーをクリックすると情報を表示するためにinfoBubbleとJQueryを使用しています。infoBubble.addTab('tab info', data); を使用すると機能します。しかし、infoBubble.setContent(content); を使用する場合はそうではありません。

コード例:

// some code here

infoBubble = new InfoBubble({
   maxWidth:  480,
   maxHeight: 250,
   borderRadius: 5,
   arrowSize: 15,
   borderWidth: 3,
   arrowPosition: 50,
   borderColor: '#D6D6D6'          
 });

$.post("/some/map/info", {id: this.get('id')}, function(data) {
          // alert (data);
          //infoBubble.addTab('Tab info', data);
          infoBubble.setContent(data);
  }); 
infoBubble.open(map, this);

// rest of the code

このコードは情報ウィンドウを開きますが、コンテンツは入力しません。アラート ボックスのコメントを外すと、コードが機能します。理由がわからない。また、 addTab 関数を使用すると正常に動作します。デバッグに FireBug を使用しました。すべての変数とデータが正しく入力され、デバッグ モードでは機能します。デバッグが終了してアラートが表示されなくなるとすぐに、機能せず、空のバブルが表示されます。誰かが光を遮ることができれば、大歓迎です。

ありがとうアレックス

4

1 に答える 1

0

これは古い質問であることは知っていますが、同じ問題に遭遇して解決策を見つけたので、この質問に出くわす可能性のある人のためにここに投稿しています.

$.post() 関数内に infoBubble.open を移動するだけです。

$.post("/some/map/info", {id: this.get('id')}, function(data) {
      infoBubble.setContent(data);
      infoBubble.open(map, this);
}); 
于 2016-02-25T18:49:42.960 に答える