当我在数据库中有坐标时如何获取事件像素

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);