Javascript Google地图样式标记z索引更改不起作用
在第页中,我试图通过将zIndex设置为google.maps.marker.MAX_zIndex+1(并在单击另一个标记时将zIndex恢复为以前的值),将单击的(样式化)标记(或使用vorige/volgende-previous/next-按钮选择的标记)置于顶部 在以下代码中: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
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);