1

steetViewといくつかのマップマーカーを使用するGoogle V3マップがあります。 小さな黄色い通りのペグマンは、マーカーの上に地図上に座っています。 私のマーカーがペグマン の上になるようにz-indexesを変更する方法はありますか(ズームインすることなく簡単にクリックすることができます)?何場合マーカーの下にGoogleマップペグマンを置く

はここでは明らかではないが、フィドルです....私はこれを思い付いた実験のビットの後 http://jsfiddle.net/spiderplant0/BRkCA/

...

$("#map_canvas img[src*=cb_scout]").parent("div").css({'zIndex': -200}); 
$($("#map_canvas img[src*=cb_scout]")[1]).parent("div").parent("div").css({'zIndex': -200}); 

これはにペグマンを強制しますマーカーの下に座っているが、ペグマンはもはやドラッグできなくなり、マップが移動されるたびに、ペグマンはマーカ​​ーの上に再びジャンプする。

答えて

1

あなたのマーカーの下にペグマンを保つために、あなたはpov_changedイベントを監視し、Zインデックスをリセットすることができ、短い遅延

$google.maps.event.addListener(panorama, 'pov_changed', function() { 
    var func=function(){ 
     $("#map_canvas img[src*=cb_scout]").parent("div").css({'zIndex': -200}); 
    } 
    setTimeout(func,1000); 
    } 
}); 

たあともの深さを変更する必要があります次のスニペット

google.maps.event.addListener(map, 'idle', function() { 
       google.maps.event.trigger(panorama, 'pov_changed'); 
    }) 

を用いて達成することができるマップが移動し、あなたがペグマンをドラッグできるようにしたい場合は、あなたが最初にしなければならないの後ペグマントグルボタンを押してペグマンの深度を入れ替え、pov_changedイベントハンドラに例外を追加することで、マーカーの上に配置して、トグルボタンがアクティブなときにパグマンが深度を落とさないようにします。

0

さて、これは少しハックかもしれ...(と私はあなたが何をしていた理解を願っ)

1)を無効にストリートビューコントロール 2)マーカーあなたよりも低いのZIndexで別のコントロールを作ります持ってる。 3)ストリートビューコントロールを、偽ストリートビューマーカーの位置で更新します。

http://jsfiddle.net/z7Lp8/

0

マーカーのzIndexを、google.maps.Marker.MAX_ZINDEXの上に設定して、ペグマンがマーカーの下に留まるようにすることができます。 MAX_ZINDEXは、APIがマーカーに割り当てる最大のデフォルトZ-インデックスです。マーカーz-インデックスは、のすべてのマーカーで最適化がオフになっている場合にのみ機能します。

Forked fiddle from question to illustrate: http://jsfiddle.net/brendaz/t4v8nhoq/

var marker1 = new google.maps.Marker({ 
     position: new google.maps.LatLng(54.975, -2.020), 
     map: map, 
     zIndex: google.maps.Marker.MAX_ZINDEX + 1, 
     optimized: false 
    }); 
関連する問題