4

マップとzIndex=6のマーカーがあり、それをクリックすると、インフォボックスが表示されます(zIndex:5およびペイン: "overlayImage")。したがって、マーカーとツールチップは同じペインにあるため、上と下にあるzIndexに依存します。私が抱えている問題は、マーカーが(ドラッグ可能:true)zIndex比較を持っている場合に機能することです。(6> 5であるため、マーカーが一番上にあります)が、ドラッグ可能なプロパティを削除すると、zindexがインフォボックスzIndexよりも高くても、マーカーはインフォボックスの下に表示されます。

なぜこれが起こるのか誰かが私に説明できますか?コード:

function initialize() {

    var secheltLoc = new google.maps.LatLng(49.47216, -123.76307);

    var myMapOptions = {
         zoom: 15
        ,center: secheltLoc
        ,mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var theMap = new google.maps.Map(document.getElementById("map_canvas"), myMapOptions);

    var marker = new google.maps.Marker({
        map: theMap,
        draggable: true,
        position: new google.maps.LatLng(49.47216, -123.76307),
        zIndex: 6
    });

    var boxText = document.createElement("div");
    boxText.style.cssText = "zindex: 3;border: 1px solid black; margin-top: 8px; background: yellow; padding: 5px;";
    boxText.innerHTML = "City Hall, Sechelt<br>British Columbia<br>Canada";

    var myOptions = {
         content: boxText
        ,disableAutoPan: false
        ,maxWidth: 0
        ,pixelOffset: new google.maps.Size(-10, -20)
        ,zIndex: 5
        ,boxStyle: {
          background: "url('tipbox.gif') no-repeat"
          ,opacity: 0.75
          ,width: "280px"
         }
        ,closeBoxMargin: "10px 2px 2px 2px"
        ,closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif"
        ,infoBoxClearance: new google.maps.Size(1, 1)
        ,isHidden: false
        ,pane: "overlayImage"
        ,enableEventPropagation: false
    };

    var ib = new InfoBox(myOptions);
    google.maps.event.addListener(marker, "mouseover", function (e) {
        ib.open(theMap, this);        
    });
}
4

1 に答える 1

4

マーカーをドラッグ可能に設定すると、最適化されません (キャンバスにレンダリングされません)。

最適化を false に設定すると、同じ効果が得られます (マーカーをドラッグ可能に設定しません)。

于 2012-11-05T17:07:20.647 に答える