每当我通过ctrl + scrollwheel放大agm地图时,页面就会滚动

时间:2019-06-21 12:57:37

标签: html angular google-maps web-applications

我正在使用Angular Web应用程序,并且希望能够使用ctrl + scrollwheel放大我的agm地图,而无需上下滚动页面。同时,我希望能够在不按ctrl键的情况下正常滚动页面,因为地图覆盖了很多屏幕,否则滚动到该位置会很尴尬。

首先,问题是仅在按下ctrl时才能使地图滚动。根据文档(https://developers.google.com/maps/documentation/javascript/interaction)和其他开发人员的评论,这是通过将手势处理设置为合作,并将scrollWheel设置为null来实现的。

现在,即使在不按ctrl的情况下通过滚动将鼠标悬停在地图上,我也可以正常滚动页面;按ctrl时,仍可以使用滚轮在地图内放大和缩小。但是以后每做一次,整个页面也会向上或向下滚动。

我试图放弃在agm-map中将scrollwheel设置为null,但是尽管手势处理仍设置为合作且地图在放大地图时仍可滚动,但地图不再需要我使用ctrl。我在Webapp的其他视图中尝试了相同的设置,以查看问题是否始终存在并且确实存在。 Chrome和Firefox中也会发生这种情况。我试图停止eventPropagation,但不确定如何操作,因此只有在我同时按ctrl时它才会停止。

除了这个问题外,我在地图上设置的所有内容都可以正常运行(某些多边形和按钮。边界是动态设置的。)

<div class="mapContainer mt-4">
      <agm-map [scrollwhell]="null" [gestureHandling]="'cooperative'" [latitude]="mapLat" [longitude]="mapLng" [fitBounds]="mapBoundsLiteral" [mapTypeControl]="true" [mapTypeId]="'satellite'" [streetViewControl]="false" #map> 
[...]
      </agm-map>
</div>

我希望页面和地图的行为与文档第一个演示中的行为完全一样,因为我在看起来很相关的地方使用了相同的属性。这意味着仅使用滚轮时页面应该正常滚动,而当我使用ctrl + scrollwheel缩放地图时不应滚动页面,但是页面始终会滚动。

1 个答案:

答案 0 :(得分:-1)

[scrollwhell]="null",我认为它不起作用,因为您写的是“ scrollwhell” 而不是“ scrollwheel”