当我在数据库中有坐标时如何获取事件像素
How to get event pixel when I have coordinates in database
我点击了一个坐标,并在 MouseEvent clientY 和 ClientX 值的帮助下删除了。我在数据库中有一些坐标,我想像点击事件一样点击它们。我使用了下面的代码。
const pixel = map.getPixelFromCoordinate(coordinates);
event = {}
event.clientX = pixel[0];
event.clientY = pixel[1];
simulateSingleClick(map, event);
但是无法点击,因为事件的clientY和上面的clientY值有很多不同。
地图视口是客户端视口中的一个视口https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect,因此除非您有整页地图,否则您需要添加该地图的左侧和顶部偏移
const vpClient = map.getViewport().getBoundingClientRect();
const pixel = map.getPixelFromCoordinate(coordinates);
event = {}
event.clientX = vpClient.left + pixel[0];
event.clientY = vpClient.top + pixel[1];
simulateSingleClick(map, event);
我点击了一个坐标,并在 MouseEvent clientY 和 ClientX 值的帮助下删除了。我在数据库中有一些坐标,我想像点击事件一样点击它们。我使用了下面的代码。
const pixel = map.getPixelFromCoordinate(coordinates);
event = {}
event.clientX = pixel[0];
event.clientY = pixel[1];
simulateSingleClick(map, event);
但是无法点击,因为事件的clientY和上面的clientY值有很多不同。
地图视口是客户端视口中的一个视口https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect,因此除非您有整页地图,否则您需要添加该地图的左侧和顶部偏移
const vpClient = map.getViewport().getBoundingClientRect();
const pixel = map.getPixelFromCoordinate(coordinates);
event = {}
event.clientX = vpClient.left + pixel[0];
event.clientY = vpClient.top + pixel[1];
simulateSingleClick(map, event);