1

マップ上にいくつかのカテゴリを表示する必要がある Google マップを使用してアプリを開発しています。ここで、複数のカテゴリからマーカーを追加し、必要に応じて削除できるようにしたいと考えています。

Windows のインフォボックスをカスタマイズできるインフォボックス プラグインを使用しています。ここで見つけることができます

私の質問。別のマーカーをクリックすると、1 つのインフォボックスが閉じます。方法はわかりませんが。これは、マーカーのクリック イベントに使用したコードです。

コード

google.maps.event.addListener(marker, 'click', (function(marker, i) {
    return function() {
        newMarkers[i].infobox.open(map, this);
        map.panTo();
    }
})(marker, i));

これで私を助けることができる人はいますか?

4

2 に答える 2

2

addListener を開いた後、次の jQuery を最初の行として追加します。

$(".infoBox").fadeOut(300);

于 2013-05-10T07:13:00.830 に答える
1

使用しているコードは、インフォボックスを閉じません。もう 1 つの作業は、1 つのインフォボックスのみを使用し、インフォボックスに情報を追加および削除することです。(これは、コードの最初の 5 行が行うことです)。これは私が使用しているコードです。

parkMarker.push(marker);
parkOptions.push(markerOptions);

parkMarker[arrayLoc].infobox = new InfoBox(parkOptions[arrayLoc]);

parkMarker[arrayLoc].infobox.open(map, marker);
parkMarker[arrayLoc].infobox.close();

google.maps.event.addListener(parkMarker[arrayLoc], 'click', (function(marker, arrayLoc){
    return function(){
        for ( h = 0; h < parkMarker.length; h++ ) {
            if(parkMarker[h].infobox){
              parkMarker[h].infobox.close();
        }
    }
      marker.infobox.open(map, marker);
  }
})(parkMarker[arrayLoc], arrayLoc));  

この jsfiddle は機能しませんが、これを機能させるために使用するすべてのコードが含まれています: http://jsfiddle.net/UDRmz/1/

于 2013-10-25T22:37:36.873 に答える