Ionic 3 - 无法点击谷歌地图上方显示的警报对话框

Posted

技术标签:

【中文标题】Ionic 3 - 无法点击谷歌地图上方显示的警报对话框【英文标题】:Ionic 3 - Unable to click on alert dialog shown above google maps 【发布时间】:2018-01-11 23:49:26 【问题描述】:

我正在使用 ionic 3 中的AlertController 实现一个警报对话框,如下所示

let alert = this.alertCtrl.create(
 title: 'Low battery',
 subTitle: '10% of battery remaining',
 buttons: ['Dismiss']
);
alert.present();

这个警告对话框在谷歌地图上方可见,但我无法点击这个警告按钮,任何点击警告对话框仍然被视为我点击它下面的谷歌地图。即使在地图上方显示警报对话框,我仍然可以像往常一样与地图交互,我可以单击地图中的任何标记,我可以放大、缩小。

【问题讨论】:

【参考方案1】:

你需要在显示警报时将地图设置为不可点击,然后在关闭时将其设置为可点击:

public showAlert(): void 

    // Disable the map
    this.map.setClickable(false);

    let alert = this.alertCtrl.create(
        title: 'Low battery',
        subTitle: '10% of battery remaining',
        buttons: [
            
                text: 'Dismiss',
                role: 'cancel',
                handler: () => 

                    // Enable the map again
                    this.map.setClickable(true); 

                
            
        ]
    );

    // Show the alert
    alert.present();


【讨论】:

以上是关于Ionic 3 - 无法点击谷歌地图上方显示的警报对话框的主要内容,如果未能解决你的问题,请参考以下文章

Ionic 2 谷歌地图标记点击

谷歌地图以Ionic 2中的模态显示

Ionic 3 原生谷歌地图限制地图移动/拖动/旋转选项

Ionic 4/5 - 带有服务的模态窗口中的谷歌地图

谷歌地图在 Ionic 2 应用程序中不起作用

在 Android 中,如何像在谷歌地图中一样显示带有方角的警报对话框?