我需要檢測mousedown和mouseup事件,並在Openlayers 3地圖上獲取它們的座標,但它似乎根本無法工作,而且我無法在文檔。Openlayers 3中的Mousedown/Mouseup事件
map.on('click', function(ev){ console.log(ev.coordinate);});
作品就好了,並得到了正確的位置,但是當我更換「咔噠」與「的mousedown」它不工作了(我沒有得到任何錯誤,只是沒有任何反應)。
另一種解決方案是使用類似:
$(map.getViewport()).bind("mousedown", function(e) { });
但我似乎不能用這種方法得到的座標了。我發現了map.getEventPixel(e),有沒有什麼辦法將它轉換爲地圖上的實際座標? LE:我真正需要的是獲得點擊持續時間(就像有人將鼠標按住幾秒鐘一樣),所以如果有一種方法沒有mousedown/mouseup,我會採取任何建議。
感謝您的快速回復,但我需要單獨檢測mousedown和mouseup事件(它在openlayers 2中支持,但根據此頁面http://openlayers.org/en/v3.5.0/apidoc/ol.Map.html doe似乎沒有工作了)。所以我想知道有沒有人想出辦法做到這一點。 –
你可以嘗試'pointerup'和'pointerdown'事件。請參閱:https://github.com/openlayers/ol3/blob/v3.13.1/src/ol/mapbrowserevent.js#L479 –
謝謝你,pointerup和pointerdown正是我所需要的,他們似乎在兩個方面都工作得很好個人電腦和觸摸屏。你可以添加這個作爲一個單獨的答案,所以我可以將問題標記爲答案? –