4:24谷歌地图V3标记在所有别人面前(Put marker from Google Maps v3

2019-07-29 23:51发布

有人可以帮我把当前的位置在所有别人面前? 我看了一下MAX_ZINDEX和setZindex(),但我无法理解这一点。 这是我的代码:

var latlng = new google.maps.LatLng(lat,lng);
var image = "";
var currentplace = "Ohla Hotel";
var zInd = "";
if( name == currentplace ) {
    image = "../img/hotel_icon.png";
}
else {
    image = "../img/home_icon.png";
}
//alert();
var maxZindex = google.maps.Marker.MAX_ZINDEX;
if( name == currentplace ) {
    zInd = (maxZindex + 1);
}
var locationDescription = this.locationDescription;
var marker = new google.maps.Marker({
    map: map,
    position: latlng,
    title:'pk:'+name,
    MAX_ZINDEX: zInd,
    icon: image
});
bounds.extend(latlng);
setMarker(map, marker, name, locationDescription);

Answer 1:

MAX_ZINDEX是标记的恒定,而不是一个属性。

相关MarkerOption是zIndex

var marker = new google.maps.Marker({
    map: map,
    position: latlng,
    title:'pk:'+name,
    zIndex: zInd,
    icon: image
});

这将设置标记的zIndex属性已计算出的值,它比API的最大值一个。



Answer 2:

大部分代码是有道理的,但你的定义MarkerOptions API的文档对象没有意义。 试着改变你的标记创建代码这样:

var marker = new google.maps.Marker({
    map: map,
    position: latlng,
    title:'pk:'+name,
    zIndex: zInd,
    icon: image
});

既然你已经设置的值zInd高于google.maps.Marker.MAX_ZINDEX ,使这一变化应放置在zIndex的,因此上面的地图上的其他标记物标记更高。



文章来源: Put marker from Google Maps v3 in front of all others