1

我有一个使用steetView和一些地图标记的Google V3地图。 小黄色streetView pegman坐在地图上标记的顶部。 有没有办法改变z-index,这样我的标记将会在pegman 之上(这样它们就可以简单地点击而不必放大)?将谷歌地图pegman放置在标记下

如果你有什么不太清楚,这里是一个小提琴.... 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事件,并在短暂的延迟

$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); 
    } 
}); 

您还需要改变的深度复位后的z-index街景小人后的地图移动,可以用下面的代码片段

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

如果你希望能够拖动衣夹人来完成,你必须先通过切换按钮交换pegman的深度并将其排除在标记之上,并向pov_changed事件处理程序添加一个例外,防止pagman在切换按钮处于活动状态时放下深度。

0

好吧,这可能有点哈克......(我希望我明白你在做什么)

1)禁止街景控制 2)使另一个控制比标记你一个较低的zIndex的有。 3)用街道视图标记的位置更新街道视图控件。

http://jsfiddle.net/z7Lp8/

0

您可以在google.maps.Marker.MAX_ZINDEX上面设置标记的zIndex,以便挂钩人留在标记下。 MAX_ZINDEX是API将分配给标记的最大默认z-index。标记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 
    });