我有一个代码,可在openlayers中将鼠标位置显示在地图之外! 如果我想在调用js鼠标事件onmousedown和onmouseup时保存这些坐标怎么办?
我有以下代码:
Throw New IndexOutOfRangeException("Index out of range!")
答案 0 :(得分:0)
我看到了两种简单的方法。
第一个,只需监听您的OpenLayers Map 'click'(或单击)事件。 然后,您可以获取光标坐标,如下所示:
myMap.on('click', function(evt){
// Get the pointer coordinate
let coordinate = ol.proj.transform(evt.coordinate);
}
第二个是,使用'pointermove'事件跟踪每次在地图上移动指针时的坐标,然后在需要时读取它们:
let coord = [];
// We track coordinate change each time the mouse is moved
myMap.on('pointermove', function(evt){
coord = evt.coordinate;
}
// Anytime you want, simply read the tracked coordinate
document.addEventListener('mousedown', function(){
console.log(coord);
});
答案 1 :(得分:0)
state={
mouePos:[1,2]
}
this.state.map.on('pointermove', (evt)=>{
this.setState({mousePos:[evt.coordinate[0],evt.coordinate[1]]},()=>{
console.log(evt.coordinate)
})
})
我认为你可以使用 mousePos 状态作为存储