2010-09-07 65 views

回答

3

最近,我放在一起,極大地適用於這個問題還有一個類似的線程解決方案:

Here is the other Stack Overflow Thread Showing how to create a custom overlay in V3 with a draggable object

這裏是工作例如: http://www.johnmick.net/drag-div-v3/

下面是一些來源: http://www.johnmick.net/drag-div-v3/js/main.js

爲了使自定義背景畫面本身可拖動,使用jQuery UI,你只想讓覆蓋拖動喜歡的DIV對象:

CustomOverlay.prototype.onAdd = function() 
    { 
     var div = document.createElement("DIV"); 
     div.style.border = "none"; 
     div.style.borderWidth = "0px"; 
     div.style.position = "absolute"; 
     div.style.visibility = "visible"; 
     jQuery(div).draggable(); //Make the overlay itself draggable 
     this.div = div; 
     this.addPolygon(new google.maps.LatLng(46,0)); 
     this.getPanes().overlayLayer.appendChild(div); 
    }; 
+0

非常感謝。 – zjm1126 2010-09-08 21:12:59

+0

完全沒問題! – John 2010-09-08 21:15:44

+0

但是,這個演示不能在Chrome和safari上運行良好?爲什麼?感謝 – zjm1126 2010-09-09 02:58:16

1

如果您使用自定義的「OverlayView」,我發現添加可拖動對象的「overlayMouseTarget」窗格將允許您捕獲該對象上的鼠標事件,例如使用jQuery UI並將draggable()應用於對象。

+0

約翰的代碼不工作12/5/2015。它通過將「overlayLayer」更改爲「overlayMouseTarget」,如下所示:

this.getPanes().overlayMouseTarget.appendChild(div);
user2618844 2015-12-05 05:32:39