Javascript Google地图样式标记z索引更改不起作用

Javascript Google地图样式标记z索引更改不起作用,javascript,jquery,google-maps,google-maps-api-3,Javascript,Jquery,Google Maps,Google Maps Api 3,在第页中,我试图通过将zIndex设置为google.maps.marker.MAX_zIndex+1(并在单击另一个标记时将zIndex恢复为以前的值),将单击的(样式化)标记(或使用vorige/volgende-previous/next-按钮选择的标记)置于顶部 在以下代码中: var thisMarker; var markers=[]; var map; var zoem=0; function initialize() { var mapCanvas = documen

在第页中,我试图通过将zIndex设置为google.maps.marker.MAX_zIndex+1(并在单击另一个标记时将zIndex恢复为以前的值),将单击的(样式化)标记(或使用vorige/volgende-previous/next-按钮选择的标记)置于顶部

在以下代码中:

var thisMarker; 
var markers=[];  
var map;
var zoem=0;

function initialize() {
  var mapCanvas = document.getElementById('map');
  var mapOptions = {center:new google.maps.LatLng(latitudeMid,longitudeMid),zoom:Zoom,mapTypeId:google.maps.MapTypeId.ROADMAP,streetViewControl:false,mapTypeControl:true,scaleControl:true,scaleControlOptions:{position:google.maps.ControlPosition.TOP_RIGHT}};
  map = new google.maps.Map(mapCanvas, mapOptions);
  var i;
  var insertion;
  var previousMarker;
  var previousZindex;
  for (i = 0; i < fotoCount; i++)  { 
    var myLatLng =new google.maps.LatLng(Latituden[i], Longituden[i]); 
    var marker = new StyledMarker({styleIcon:new StyledIcon(StyledIconTypes.MARKER,{color:'00ff00',text:Letters[i]}),position:myLatLng,map:map});
    marker.set('zIndex', -i);
    marker.myIndex = i;
    markers.push(marker);
    google.maps.event.addListener(marker, 'click', function() {
      var insertion="";
      insertion='<img src=\"http://www.pdavis.nl/Ams/'.concat(Bestanden[this.myIndex],'.jpg\"></img>'); 
      insertion=insertion.concat('<table class=width100><tr><td>Bestand: ',Bestanden[this.myIndex],'</td><td class=pright>Lokatie: ',Latituden[this.myIndex],' °N., ',Longituden[this.myIndex],' °E. (',Letters[this.myIndex],')</td>');
      insertion=insertion.concat('<td class=pright>Genomen: ',Datums[this.myIndex],'</td></tr><td colspan=3>Object: ',Objecten[this.myIndex],'</td></table>');
      $('#photo').html(insertion);
      if(previousMarker!=null)
        {
        previousMarker.styleIcon.set('color', '00ff00');
        // -------------------------------------------- set zIndex
        previousMarker.styleIcon.set('zIndex', previousZindex);
        // -------------------------------------------------------
        }
      this.styleIcon.set('color', 'ff0000');
      this.styleIcon.set('zIndex', google.maps.Marker.MAX_ZINDEX + 1);
      thisMarker=this.myIndex;
      if (zoem==1) //moet nu inzoemen
        {
        map.setCenter(new google.maps.LatLng(Latituden[thisMarker], Longituden[thisMarker]));
        map.setZoom(18);
        }
      if (zoem==2) //moet nu uitzoemen
        {
        map.setCenter(new google.maps.LatLng(latitudeMid,longitudeMid));
        map.setZoom(Zoom);
        zoem=0;
        }
      previousMarker=this;
      previousZindex=this.zIndex;
      });
   google.maps.event.addDomListener(document.getElementById('volgende'), 'click', nextEvent);
   google.maps.event.addDomListener(document.getElementById('vorige'), 'click', previousEvent);
   google.maps.event.addDomListener(document.getElementById('zoemer'), 'click', zoemerEvent);
    }  
  google.maps.event.trigger(markers[0], 'click');
}


function nextEvent() {
  thisMarker++;
  if (thisMarker>=fotoCount) {thisMarker=0};
  google.maps.event.trigger(markers[thisMarker], 'click');
}

function previousEvent() {
  thisMarker--;
  if (thisMarker==-1) {thisMarker=fotoCount-1};
  google.maps.event.trigger(markers[thisMarker], 'click');
}

function zoemerEvent() {
  if (zoemer.value == 'niet inzoemen op selectie') 
    {zoemer.value = 'inzoemen op selectie';
     zoem=2;}
  else
    {zoemer.value = 'niet inzoemen op selectie';
     zoem=1;}
  google.maps.event.trigger(markers[thisMarker], 'click');
}
var-thisMarker;
var标记=[];
var映射;
var-zoem=0;
函数初始化(){
var mapCanvas=document.getElementById('map');
var mapOptions={center:new google.maps.LatLng(latitudeMid,longitudeMid),zoom:zoom,mapTypeId:google.maps.mapTypeId.ROADMAP,streetViewControl:false,mapTypeControl:true,scaleControl:true,scaleControl:{position:google.maps.ControlPosition.TOP_RIGHT};
map=新的google.maps.map(mapCanvas,mapOptions);
var i;
var插入;
var前向标记;
var-previousZindex;
对于(i=0;i=fotoCount){thisMarker=0};
google.maps.event.trigger(markers[thisMarker],'click');
}
函数previousEvent(){
这个标记--;
如果(thisMarker==-1){thisMarker=fotoCount-1};
google.maps.event.trigger(markers[thisMarker],'click');
}
函数zoemerEvent(){
如果(zoemer.value=='niet inzoemen op selectie')
{zoemer.value='inzomen op selectie';
zoem=2;}
其他的
{zoemer.value='niet inzoemen op selectie';
zoem=1;}
google.maps.event.trigger(markers[thisMarker],'click');
}

这是行不通的。我找不到用于样式化标记的zIndex文档,但假设应该将其设置为Anagous以设置颜色(这对我很有用)。

尝试在标记创建中直接添加zIndex

var marker = new StyledMarker({styleIcon:new StyledIcon(StyledIconTypes.MARKER,{zIndex: -1, color:'00ff00',text:Letters[i]}),position:myLatLng,map:map});

尝试在标记创建中直接添加zIndex

var marker = new StyledMarker({styleIcon:new StyledIcon(StyledIconTypes.MARKER,{zIndex: -1, color:'00ff00',text:Letters[i]}),position:myLatLng,map:map});
通过替换(例如)解决了此问题:

通过替换(例如)解决了此问题:


您使用的是StyledMarker的什么实现?(那个图书馆是从哪里来的)。它的文档应该表明它是否支持zIndex。或者你可以查看源代码。我使用[link]。我在源代码中没有看到对zIndex的引用,所以我假设我在这里设置了zIndex,您使用的是StyledMarker的什么实现?(那个图书馆是从哪里来的)。它的文档应该表明它是否支持zIndex。或者你可以查看源代码。我使用[link]。我在源代码中没有看到对zIndex的引用,所以我假设我在这里设置了zIndex,您使用的是StyledMarker的什么实现?(那个图书馆是从哪里来的)。它的文档应该表明它是否支持zIndex。或者你可以查看源代码。我使用[link]。我在源代码中没有看到对zIndex的引用,所以我假设我在这里设置了zIndex,
this.styleIcon.set('zIndex', google.maps.Marker.MAX_ZINDEX + 1);
this.set('zIndex', google.maps.Marker.MAX_ZINDEX + 1);