phonegap-googlemaps-plugin + $ ionicPopup

时间:2015-09-11 13:19:22

标签: javascript css cordova ionic-framework phonegap-plugins

我正在使用IonicFrameworkphonegap-googlemaps-plugin开发一个应用程序,当用户点击infoWindow的标记时,它会调用confirm函数,然后在 true时调用launchNavigation

我的问题是,如果我使用原生确认功能,效果很好,但当我尝试使用 $ionicPopup.confirm({}) 时,我无法点击确认按钮。看起来我一直在点击地图。

我已经尝试更改类' popup-containe '的z-index属性,但似乎没有按照我预期的方式工作。

    data.map(function (m) {

        var latLng = new plugin.google.maps.LatLng(m.lat, m.lng)
        latLngs.push(latLng);

        map.addMarker({
            position: latLng,
            title: m.placa,
            snippet: 'Clique para ir nessa localização.',
            styles : {
                'text-align': 'center',
                'font-weight': 'bold'
            }
        }, function (marker) {

            marker.addEventListener(plugin.google.maps.event.INFO_CLICK, function(marker) {

                var confirm = $ionicPopup.confirm({
                    title: m.placa,
                    template: 'Abrir navegação para essa localização?',
                    okText: 'Sim',
                    cancelText: 'Não'
                })

                document.getElementsByClassName('popup-container')[0].style.zIndez = 999999;

                confirm.then(function (response) {
                    if (response) {
                        map.getMyLocation(function (location) {
                            mobileLocation = location.latLng;

                            marker.getPosition(function(markerLocation) {

                                plugin.google.maps.external.launchNavigation({
                                    'from': mobileLocation,
                                    'to': markerLocation
                                });

                            })
                        })
                    }
                })

                $timeout(function() {
                    confirm.close();
                }, 3000);

                /*
                if (confirm("Abrir direção para " + m.placa)) {
                    map.getMyLocation(function(location) {
                        mobileLocation = location.latLng;

                        marker.getPosition(function (markerLocation) {

                            plugin.google.maps.external.launchNavigation({
                                "from": mobileLocation,
                                "to": markerLocation
                            });

                        });

                    });
                }
                */
            });
        });
    });

enter image description here

由于

1 个答案:

答案 0 :(得分:-1)

简单就是你只需设置

map.setClickable(false)

之后显示$ionicPopup

map.setClickable(true).

完美无缺。