一度に 1 つの情報バブルのみが表示されるように、つまり、情報バブルを切り替えるようにしようとしています。マーカーは、for ループでこのイベント ハンドラーに割り当てられ、マーカー配列をループします。
現時点では、これはインフォバブルを開きますが、閉じることはありません。複数のマーカーをクリックすると、前のマーカーを閉じなくてもそれぞれにインフォバブルが表示されます
Iv を追加しようとしましinfobuble2.close();
たが、前の情報バブルを閉じるには、マーカーを 2 回クリックする必要があります。
また、情報バブルが開いているかどうかをテストしようとしましたが、それはinfoBubble2.isOpen()
偽のようです。
そして、はい、私がinfowindowを試してみて、それを使用して機能がうまく機能するかどうか疑問に思っているなら、それを使用して機能がうまく機能しますが、デザインの制約のために、それに応じてポップアップのスタイルを設定する必要があります。以下は私のコードです
var infoBubble2;
google.maps.event.addListener(marker, 'click', function() {
infoBubble2 = new InfoBubble({
map: map,
position: new google.maps.LatLng(-35, 151),
shadowStyle: 1,
padding: 0,
backgroundColor: 'rgb(255,255,255)',
borderRadius: 4,
arrowSize: 10,
borderWidth: 1,
borderColor: '#2c2c2c',
disableAutoPan: true,
hideCloseButton: !0,
arrowPosition: 30,
backgroundClassName: 'phoney',
arrowStyle: 2
});
infoBubble2.setContent("some content");
infoBubble2.open(map, marker);
});