11

誰かが現在の場所を他のすべての場所の前に置くのを手伝ってくれませんか? 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);
4

2 に答える 2

14

MAX_ZINDEXマーカーの属性ではなく、定数です。

関連する MarkerOption はzIndex次のとおりです。

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

これにより、マーカーのzIndex属性が、計算した値に設定されます。これは、API の最大値より 1 大きい値です。

于 2012-06-17T23:20:28.787 に答える
3

ほとんどのコードは理にかなっていますが、MarkerOptionsapi-docオブジェクトの定義は意味がありません。マーカー作成コードを次のように変更してみてください。

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

zIndより高い値を既に設定しているためgoogle.maps.Marker.MAX_ZINDEX、この変更を行うと、マーカーが zIndex 内でより高く配置され、マップ上の他のマーカーよりも上に配置されます。

于 2012-06-17T23:19:50.427 に答える