离子ngMap infowindow无法在设备上运行

时间:2015-03-26 01:48:56

标签: ionic ng-map

我一直在使用由allenhwkim创建的令人敬畏的ngMap指令,但是在设备上显示信息窗口的标记存在问题。我已尝试过不同的嵌套方式" data-tap-disabled =' true'"和"滚动='假'"对于不同的元素,没有运气。

我非常喜欢他放在一起的标记集群模块,所以我一直在努力依赖它,因为我们需要在大面积上绘制多个标记。在回购中有一个很好的例子,在全球范围内使用自定义指令绘制商店,当缩放到足以看到单个标记时,当点击事件被触发时,信息窗口会显示一些数据。从Chrome测试时,一切正常,但在Android设备和iOs模拟器上进行测试时,信息窗口不会出现。但是,似乎点击正在注册,因为设备上的屏幕/地图移动,好像信息窗口应该出现(如从Chrome测试)。

myDirective.js

.directive('stuffInfo', function(SomeData) {

    var StuffInfo = function(s, e, a) {
        this.scope = s;
        this.element = e;
        this.attrs = a;
        this.show = function(stuffId) {
            this.element.css('display', 'block');
            var showStuff = SomeData.getDataStuff(stuffId);
            var someMoreStuff = showStuff.stuff_users;
            s.someMoreStuff = someMoreStuff;

            this.s.$apply();
        }
        this.hide = function() {
            this.element.css('display', 'none');
        }
    };
    return {
        templateUrl: '/templates/stuff-info.html',
        link: function(scope, e, a) {
            scope.gameInfo= new GameInfo(scope, e, a);
        }
    }
})

map.html

<div id="map-container">
    <map zoom="12" center="[34.784426, -92.333411]" disable-default-u-i="true">

    </map>

    <div add-stuff-info="" class="custom-control">Add Stuff</div>
</div>

控制器附加点击监听器

var marker = new google.maps.Marker(stuff);
google.maps.event.addListener(marker, 'click', function() {
    $scope.stuff = this;

    map.setCenter(this.getPosition());
    $scope.stuffInfo.show($scope.stuff._id);
});

的style.css

div #map-container div [add-stuff-info] {position:absolute; display:none;顶部:5px;右:5px;底部:5px;宽度:40%} div#map-container div [add-stuff-info] a.hide-link {float:right} div#map-container div [add-stuff-info] table {width:100%} div#map-container div [add-stuff-info] table td {text-align:left;填充:5px; border:1px solid #ccc}

我似乎无法在这里弄清楚这个问题。我已经意识到的一件事是删除this.element.css(&#39; display&#39;,&#39; block&#39;);从Chrome的指令和测试来看,浏览器似乎就像设备一样 - 地图移位,因为它会显示信息窗口......

1 个答案:

答案 0 :(得分:2)

我遇到了完全相同的问题! 包含 data-tap-disabled =“true”标记

像:

<ion-content data-tap-disabled="true" class="has-header padding">

我希望能帮到你!!