4

見栄えの良い情報ウィンドウのためにからinfoWindowに移動しています。infoBox

地図上にたくさんのマーカーがあります。私がやりたいのは、1つinfoBoxがすでに開いているときに、ユーザーが他のマーカーをクリックすると、現在infoBoxが自動的に閉じて新しいinfoBoxものが開くので、ユーザーは現在を閉じる必要がなく、infoBox常に1つだけがinfoBox表示されます。時間。

これが私の現在のソリューションのデモとコードです http://jsfiddle.net/neo3000ultra/9jhAy/

前もって感謝します!

4

2 に答える 2

10

この部分を変更します。

        google.maps.event.addListener(marker, "click", function (e) {
            ib.open(map, this);
        });

        var ib = new InfoBox(myOptions);

       google.maps.event.addListener(marker2, "click", function (e) {
            ib2.open(map, this);
        });

        var ib2 = new InfoBox(myOptions2);

以下に:

    var ib = new InfoBox();

    google.maps.event.addListener(marker, "click", function (e) {
        ib.close();
        ib.setOptions(myOptions)
        ib.open(map, this);
    });

   google.maps.event.addListener(marker2, "click", function (e) {
        ib.close();
        ib.setOptions(myOptions2)
        ib.open(map, this);
    });

IE9 でも動作します: http://jsfiddle.net/doktormolle/9jhAy/1/

ib.close()infoBox を開く前にを使用することに注意してください。

于 2012-06-06T15:38:36.153 に答える
3

単一の情報ウィンドウに対する通常の提案は、1つだけを作成し、それをすべてのマーカーに再利用することです(コンテンツを変更します)。

これは、v3 APIでこれを行う例です(v2 APIでは単一のインフォウィンドウしか許可されていないため、「v2インフォウィンドウの動作」と考えています) http://www.geocodezip.com/v3_markers_normal_colored_infowindows.html

Mike Williamsのv2チュートリアルに基づく別の例を次に示します。http: //www.geocodezip.com/v3_MW_example_map1.html

変更された例:http: //jsfiddle.net/uGnQb/6/

于 2012-06-06T05:09:36.100 に答える