我想讓一個ol.overlay是可拖動的,但我無法做到這一點。我發現這個例子(http://openlayers.org/en/v3.2.1/examples/drag-features.html?q=drag),但它使用ol.Features完成,我需要的是覆蓋,因爲我可以使用自定義-html div-來顯示我需要的東西。我還發現了一個非常有趣的例子,它能夠做我想做的事,但它使用谷歌地圖v3完成,我需要它爲ol3。
在此先感謝。我們可以在OpenLayers 3上製作ol.Overlay嗎?
1
A
回答
0
UPDATE:
有沒有必要這個ol.Map.prototype.forEachOverlayAtPixel
方法(見https://github.com/openlayers/ol3/issues/5760)。
只需在DOM疊加層元素上註冊一個mousedown
偵聽器,就可以開始了。 Fiddle updated。
ol.Overlay
是一個貧窮的類型OL3但有一些工作,是的,你可以實現它。 ol.Feature
是全能的,如果你真的需要ol.Overlay
我想出了這個demo fiddle。
的理念是:
監聽
pointerdown
地圖事件,並檢查是否有在點擊像素疊加;ol.Map.prototype.forEachOverlayAtPixel
- 只是問題
停用
ol.interaction.DragPan
創造 - 地圖平移;收聽
pointermove
並設置覆蓋位置;收聽
pointerup
並恢復ol.interaction.DragPan
;
1
您可以簡單地在疊加層的div上註冊'mousedown'事件監聽器。在該監聽器中,在窗口上註冊'mousemove'和'mouseup'事件。要更新'mousemove'上的位置,請使用將'mousemove'事件作爲參數的ol.Map#getEventPixel()
方法。在'mouseup'上,你只需取消註冊窗口監聽器。
marker_el.addEventListener('mousedown', function(evt) {
function move(evt) {
marker.setPosition(map.getEventCoordinate(evt));
}
function end(evt) {
window.removeEventListener('mousemove', move);
window.removeEventListener('mouseup', end);
}
window.addEventListener('mousemove', move);
window.addEventListener('mouseup', end);
});
查看http://jsfiddle.net/rnzgfg89/6/的工作示例。
相關問題
- 1. OpenLayers - 在ol.Overlay上添加點擊事件
- 2. 我們可以在PhoneGap上製作家庭替代應用嗎?
- 3. 我們可以在cfgrid中製作可摺疊的行嗎?
- 4. 我可以製作TextInput嗎?
- 5. 我們可以放大縮小我們在畫布上繪製的圖畫嗎?
- 6. 我們可以在angularjs中製作自定義過濾器嗎?
- 7. 我們可以在Laravel 5中製作Bundle Css和Javascript嗎?
- 8. 我們可以自動複製* .dll.config嗎?
- 9. 我們可以用2個動作製作1個UIButton嗎?
- 10. 我們可以在Visual Studio 2010上工作Telerik 2010版本嗎
- 11. Android O:我們可以製作一個時鐘小部件嗎?
- 12. 我們可以用angularjs製作隱藏的路線嗎?
- 13. 我們可以重載MVC控制器的動作方法嗎?
- 14. 我們可以在asp.net mvc 3中同時調用兩個actionresult /控制器嗎?
- 15. Openlayers 3 - 在地圖上限制可能的縮放級別
- 16. 我們可以使用Selenium 3在遠程機器上驅動瀏覽器嗎?
- 17. 我們可以在Flash中擁有4個以上的stage3D嗎?
- 18. 我們可以強制在APScheduler作業存儲中運行作業嗎?
- 19. 我們可以在作用域構建器中作用域嗎?
- 20. 我們可以在我的Windows 8 O.S上安裝SharePoint 2013嗎?
- 21. 我們可以在臉書上牆上傳文章嗎?
- 22. 我可以在捲曲連接上製作多個請求嗎?
- 23. 我可以在手機上製作AD-HOC網絡嗎?
- 24. 我可以在highchart上製作徑向標籤嗎?
- 25. ol.Overlay滾動地圖上的IE和Firefox
- 26. ReSharper:我可以製作自己的上下文動作嗎?
- 27. 我們可以限制在我們的設備中安裝.apk文件嗎?
- 28. 我可以用python 3.2製作pylibmc嗎?
- 29. 我可以自己製作網站嗎?
- 30. 我可以製作一個「圖層」嗎?
嗨,謝謝,它真的幫助了我!
Regards :) – Alberto