如何启用ctr + scrollwheel以放大Google Maps Api

时间:2017-10-25 14:04:20

标签: angular google-maps

您好我正在使用Google Maps API https://angular-maps.com/,我只想在按住Ctrl +滚动滚轮的同时进行缩放。阅读文档我发现了这个:

  

gestureHandling此设置控制地图上的手势   处理。允许值:

     

'合作' (双指触摸手势平移和缩放地图。   地图不处理单指触摸手势。)'贪心' (所有   触摸手势平移或缩放地图。)' none' (地图无法平移   或通过用户手势缩放。)' auto' [默认](手势处理是   合作或贪婪,取决于页面是否   是否可滚动。输入:|||

     

默认值:auto

所以在我的代码中我添加了:

<agm-map
    [latitude]="lat" 
    [longitude]="lng"
    [zoom]="zoom"
    [gestureHandling]="cooperative"
    [mapTypeControl]="true"
    [mapTypeControlOptions]="mapType"
    >

但不起作用,它不要求我按ctrl进行缩放。

6 个答案:

答案 0 :(得分:9)

设置[scrollwheel]="null"似乎暂时可行。

答案 1 :(得分:1)

我在AGM聊天中找到了一个似乎可以解决此问题的答案。

在模块中将版本设置为4,如:

AgmCoreModule.forRoot({
  apiKey: 'your_key',
  apiVersion: "4"
}),

Haven自己尝试过,但它对该用户起作用。如果它不起作用,试一试并回来

答案 2 :(得分:1)

我的问题已在https://github.com/SebastianM/angular-google-maps/issues/1411

解决

解决方案是:

AgmCoreModule.forRoot({
      apiKey: '-bQ',
      apiVersion: '3.31'
    }),

基本降级地图api修复了但不确定原因。

如前所述,不要忘记添加[gestureHandling]="'cooperative'"

答案 3 :(得分:1)

正如Martti Käärik所述,您可以使用:

[scrollwheel]="null"

[scrollwheel]="false"

作为agm-map的输入。两者之间的区别在于,第一个允许使用CMD + scroll或CTRL + scroll进行放大和缩小,并在页面滚动期间在地图上显示有关此消息的信息,而第二个则不显示任何消息,并且不会允许您使用滚动或CMD / CTRL + scroll进行缩放,但也可以使用[zoomControl]="true"所提供的按钮来控制地图缩放。

如果您需要滚轮和其他输入的参考,可以查看here

答案 4 :(得分:0)

您可以尝试添加下一个:

[gestureHandling]="'coopeative'" 

答案 5 :(得分:0)

实际上,将这些答案结合使用是可行的。

就我而言,[scrollWheel]控件上最初没有[gestureHandling]agm-map

必须在API v3.32 +中同时设置[scrollWheel]="null"[gestureHandling]="'cooperative'"才能按需运行。

请注意,设置特定的API版本对于“破坏”更改是一种廉价的解决方法。始终努力应对(即使在支持终止的最后期限之前)。

User n0minal figures this out on AGM github