javascript - 鼠标滚动不适用于谷歌地图上的附加 div
问题描述
我在谷歌地图的中心添加了一个固定标记:
div的CSS:
.centerMarker{
width:30px;
height:60px;
margin:auto;
position:absolute;
top:50%;
left:50%;
z-index:2;
background:url('fixedMarker.png') no-repeat center;
background-size:30px 60px;
margin-top:-60px;
margin-left:-15px;
}
将 div 添加到地图的脚本:
$('<div/>').addClass('centerMarker').appendTo(map.getDiv())
这会导致滚动(用于缩放)不适用于附加的 div(但适用于地图的其他部分)。如何使滚动事件通过 div 并到达地图?
编辑:我需要这个 div 是可点击的。所以我不应该禁用这个 div 上的所有事件。
解决方案
由于谷歌地图 iframe 仅在ctrl
按下时滚动,您可以使用 JQuery 事件在按下时使centerMarker
事件不敏感ctrl
,如下所示:
$("window").keydown((e) => {
if (e.keyCode == 17) {
$(".centerMarker").css("pointer-events", "none");
}
});
$("window").keyup((e) => {
if (e.keyCode == 17) {
$(".centerMarker").css("pointer-events", "all");
}
});
#parent {
position: relative;
}
.centerMarker {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="parent"><iframe width="700" height="440" src="https://maps.google.com/maps?width=700&height=440&hl=en&q=Paris%2C%20France+(Titre)&ie=UTF8&t=&z=10&iwloc=B&output=embed" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"></iframe>
<div class="centerMarker">
test
</div>
</div><br />
推荐阅读
- python - aws_boto3 为我使用 python 从 S3 下载的文件添加哈希
- python - 如何计算 geopandas 数据框上的共享边长度
- python - 如何使用 XML 将带有图像的按钮添加到 PyGtk 中的菜单?
- python - ImportError:没有名为 pynput 的模块
- javascript - 测试失败时如何获取控制台日志 POSTMAN
- javascript - Cheerio 没有选择特定的元素
- c++ - 如何解决 M1 Mac 中的“未找到架构 arm64 的符号”
- mongodb - 如何从 MongoDB 中的数组中查询具有最新日期的对象?
- javascript - 如何使用 Ethers.js 制作自定义链连接按钮
- javascript - 使用 localStorage 设置颜色主题