Вы можете легко добавить прослушиватель событий, чтобы определить, когда удерживается клавиша пробела. Однако затем вам нужно будет каким-то образом указать карте, в каком направлении двигаться. Предполагая, что вы хотите, чтобы это делалось также с помощью клавиатуры, вот несколько примеров кода для добавления / удаления прокрутки с помощью клавиш со стрелками, когда удерживается клавиша пробела. вниз.
function scrollMap(e) {
const key = e.key;
if (key == 'ArrowUp'){
//scroll map 100px up, or whatever you want
}
//repeat for other arrow keys, or inputs of your choice
}
document.addEventListener('keydown', (event) => {
const key = event.code;
if (key == 'Space'){
listen();
}
});
document.addEventListener('keyup', (event) => {
const key = event.code;
if (key == 'Space'){
stopListen();
}
});
function listen(){
document.addEventListener('keypress', scrollMap);
}
function stopListen(){
document.removeEventListener('keypress', scrollMap);
}
Примечания
1) В зависимости от макета страницы может быть лучше прикрепить события к элементу карты, а не к документу
2) Выбор event.code против event.key и т. Д. Будет зависеть от того, на какие браузеры вы ориентируетесь. См. здесь для получения дополнительной информации
3) Вместо пробела вы можете использовать shift / ctrl / alt, так как они встроены в события клавиатуры и поэтому их легче обнаружить и использовать кросс-браузер. См. здесь для получения дополнительной информации