Google maps api 3 google地图标记(v3)的draggable属性是否影响标记的zIndex?

Google maps api 3 google地图标记(v3)的draggable属性是否影响标记的zIndex?,google-maps-api-3,Google Maps Api 3,我有一个地图,一个zIndex=6的标记,当我点击它时,会出现一个信息框(zIndex:5和窗格:“overlayImage”)。因此,标记和工具提示位于同一窗格中,因此它取决于位于顶部和下方的zIndex。我遇到的问题是,如果标记具有(draggable:true),那么zIndex比较可以工作。(标记位于顶部,因为6>5),但是如果我删除draggable属性,即使zindex高于infobox zindex,标记也将位于infobox下 谁能解释一下为什么会这样?代码: function

我有一个地图,一个zIndex=6的标记,当我点击它时,会出现一个信息框(zIndex:5和窗格:“overlayImage”)。因此,标记和工具提示位于同一窗格中,因此它取决于位于顶部和下方的zIndex。我遇到的问题是,如果标记具有(draggable:true),那么zIndex比较可以工作。(标记位于顶部,因为6>5),但是如果我删除draggable属性,即使zindex高于infobox zindex,标记也将位于infobox下

谁能解释一下为什么会这样?代码:

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);        
    });
}
函数初始化(){
var secheltLoc=new google.maps.LatLng(49.47216,-123.76307);
var myMapOptions={
缩放:15
,中心:secheltLoc
,mapTypeId:google.maps.mapTypeId.ROADMAP
};
var theMap=new google.maps.Map(document.getElementById(“Map_canvas”),myMapOptions);
var marker=new google.maps.marker({
地图:主题地图,
真的,
位置:新google.maps.LatLng(49.47216,-123.76307),
zIndex:6
});
var-boxText=document.createElement(“div”);
boxText.style.cssText=“zindex:3;边框:1px纯黑色;页边距顶部:8px;背景:黄色;填充:5px;”;
boxText.innerHTML=“加拿大不列颠哥伦比亚省第二市政厅”;
变量myOptions={
内容:boxText
,disableAutoPan:false
,最大宽度:0
,pixelOffset:new google.maps.Size(-10,-20)
,zIndex:5
,箱式:{
背景:“url('tipbox.gif')不重复”
,不透明度:0.75
,宽度:“280px”
}
,closeBoxMargin:“10px 2px 2px 2px”
,closeBoxURL:“http://www.google.com/intl/en_us/mapfiles/close.gif"
,infoBoxClearance:newgoogle.maps.Size(1,1)
,isHidden:错
,窗格:“覆盖图像”
,enableEventPropagation:false
};
var ib=新信息框(myOptions);
google.maps.event.addListener(标记“mouseover”,函数(e){
ib.open(theMap,this);
});
}

如果将标记设置为可拖动,则不会对其进行优化(不会在画布中渲染)


如果将优化设置为false,则会产生相同的效果(不将标记设置为draggable)。

我在这里发布了示例,我不想将标记设置为draggable,但这是我找到的唯一解决方案,以便zindex工作。我想删除此属性,但我需要知道必须进行哪些更改才能正常工作。(标记保留在信息框的顶部,使用zIndex)您的问题不清楚(您不希望标记可以拖动)。请参阅更新的答案。