我正在构建一个我想要键盘访问的地图.V3默认情况下是键盘可访问的,但在单击地图之前,您似乎无法访问键盘功能.我添加了一个选择链接,它将您带到包含地图的div标签,但这没有用.有没有办法激活一般地图点击事件而不实际使用鼠标.
谢谢,
G
我通常这样做的方法是首先通过添加地图div可聚焦tabindex="0".这会将其添加到浏览器的自然标签顺序中.然后我为keyup一个开关添加一个事件监听器,根据按下的键调用map.panBy或map.setZoom.这是一个jQuery示例,但也可以这样做google.maps.event.addListener(map, 'keyup', function() {...etc.});.jQuery为您提供跨浏览器的event.which,因此代码更简单.
$('#map').keyup(function(event) {
var o = 128; // half a tile's width
switch(event.which) {
case 37: // leftArrow
map.panBy(-o,0);
break;
case 38: // upArrow
map.panBy(0,-o);
break;
case 39: // rightArrow
map.panBy(o,0);
break;
case 40: // downArrow
map.panBy(0,o);
break;
case 109: // numpad -
case 189: // -
map.setZoom(map.getZoom()-1);
break;
case 107: // numpad +
case 187: // =
map.setZoom(map.getZoom()+1);
break;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3414 次 |
| 最近记录: |