1

Googleマップの情報ウィンドウにいくつかのツイートを追加しようとしています。ツイートを情報ウィンドウのコンテンツであるdivに表示しますが、サイズが間違っています。

マーカーがクリックされたときに「 content_changed 」を呼び出すと、情報ウィンドウのサイズが変更されると思いましたが、サイズは変更されません。

これはかなり簡単だと思いますが、誰かが私を助けてくれますか?

ありがとう、

ジェームズ

var myLatlng = new google.maps.LatLng(51.500261,-0.126793);
var myOptions = {
  zoom: 12,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById("map_canvas"),
    myOptions);

var marker = new google.maps.Marker({
  position: myLatlng,
  map: map,
});

var infowindow = new google.maps.InfoWindow();
infowindow.setContent(document.getElementById("station"));

google.maps.event.addListener(marker, 'click', function() {
    google.maps.event.trigger(infowindow, 'content_changed');
    infowindow.open(map,marker);
});
4

3 に答える 3

1

infowindow.close();前に電話してみてくださいopen()。私はそれがそれを再レンダリングすることを強制するだろうとかなり確信しています

于 2010-07-17T16:31:20.337 に答える
0

これは正確にサポートされているソリューションではありませんが、Firebugを調べた後、ウィンドウのサイズを強制的に変更する簡単な方法を見つけました。

infoWindow.b.contentSize = new google.maps.Size(w, h);
google.maps.event.trigger(infoWindow.b, 'contentsize_changed');

最初の行で実際のW/Hを設定する必要がある限りinfoWindow.b.contentNode、標準のプロパティまたはjQueryのメソッドを使用して実際の幅/高さを確認して取得する必要があります。

正確にはわかりませんinfoWindow.bが、ある種の「コンテンツ」オブジェクトのようです。彼らがこれを公開して文書化してくれることを願っています。

于 2012-02-29T23:22:46.727 に答える
0

私は結局:

infoWindowLinea.setContent(infoWindowLinea.getContent());
于 2014-03-08T23:04:14.607 に答える