1

私はイベントを使用していclickて、メソッドとcloseclickで異なる値を設定しています。 したがって、ユーザーがマップマーカーをクリックすると、そのマーカーにパンしてズームインします。この部分は機能しています。次に、情報ウィンドウを閉じたときに、ズームアウトして元の位置にパンします(機能していません)。これらの2つのイベントは私のコードで競合しているようですが、この競合を解決する ために利用する必要がありますか?関連するコードは次のとおりです。panTo()setZoom()



clearListeners

function setInfoWindow(mapRef, mapSettings, mapMarker, markerInfoWindow)
{
    // event listener for infowindow of each map marker, onclick
    google.maps.event.addListener(mapMarker, "click", function()
    {
        markerInfoWindow.open(mapRef, this);
        mapRef.panTo(this.position);
        mapRef.setZoom(3);
    });

    // 
    google.maps.event.addListener(mapMarker, "closeclick", function()
    {
        mapRef.panTo(mapSettings.center);
        mapRef.setZoom(2);
    });

} // end of function setInfoWindow
4

1 に答える 1

4

これは、infoWindow で close イベントをリッスンしていないために発生しており、マーカーに設定されています。したがってmapMarker、コード内の をmarkerInfoWindow次のように変更するだけです。

google.maps.event.addListener(markerInfoWindow, "closeclick", function()
{
    mapRef.panTo(mapSettings.center);
    mapRef.setZoom(2);
});

infoWindow が閉じられると、これが起動します

于 2012-06-11T16:41:00.213 に答える