javascript - How To Disable Panning With Arrow Keys On Google Maps API
问题描述
Using the Google Maps API on a web page, I'm able to use the keyboard's up/down and right/left arrow keys to pan the map. I want to allow the user to drag/pan the map via the mouse as normal, but want to disable panning from the keyboard arrow presses that is occurring after the map is clicked. How can I do this?
For background, I'm using the arrow keys on the web page for other functionality (to move up and down an HTML list), and don't want the map to move around when the user presses arrow keys.
解决方案
您可以将keyboardShortcuts
选项设置MapOptions
为false
禁用地图上的键盘操作
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<style>
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
keyboardShortcuts: false,
gestureHandling: "greedy",
zoom: 8
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap&key=YOUR_KEY"
async defer></script>
</body>
</html>
推荐阅读
- java - 在java的二维数组中打印一次
- javascript - 如何在 vue.js 中设置使用 v-calendar 范围选择的最大天数?
- c - 程序未返回主功能
- c# - 剧作家 - 登录表单问题
- docker - 无法在 OpenCTI 堆栈 docker install 中连接到 Elasticsearch
- validation - L8 - API - 可选输入 JSON 对象的表单请求
- php - 使用 BinaryFileResponse 的文件下载工作了一段时间,然后失败
- javascript - Firebase snapshot.forEach(async () => {}) 无法正常工作
- javascript - 谷歌地图标记多选问题
- matlab - 在 Matlab 中发生 fmincon 错误,但没有详细信息