【问题标题】:Ionic ngMap infowindow not functioning on device离子 ngMap 信息窗口在设备上不起作用
【发布时间】:2015-07-22 22:45:24
【问题描述】:

我一直在使用由 allenhwkim 创建的很棒的 ngMap 指令,但在设备上显示信息窗口的标记存在问题。我尝试了不同的方法为不同的元素嵌套“data-tap-disabled='true'”和“scroll='false'”,但没有运气。

我真的很喜欢他放在一起的 markercluster 模块,所以我一直在尝试依赖它,因为我们需要在大范围内绘制多个标记。在 repo 中有一个很好的例子,它使用自定义指令在全球范围内绘制商店,当点击事件被触发时,当缩放到足以看到单个标记时,会出现一个带有一些数据的信息窗口。从 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);
        }
    }
})

ma​​p.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] {位置:绝对;显示:无;顶部:5px;右:5px;底部:5px;宽度:40% } div#map-container div[add-stuff-info] a.hide-link { float:right } div#map-container div[add-stuff-info] table { 宽度:100% } div#map-container div[add-stuff-info] table td { text-align: left;填充:5px;边框:1px 实心#ccc }

我似乎无法解决这里的问题。我意识到的一件事是删除 this.element.css('display', 'block');从 Chrome 的指令和测试来看,浏览器的行为似乎与设备一样 - 地图会发生变化,因为它会显示信息窗口...

【问题讨论】:

  • 我也有同样的问题,如果你有答案请在这里发帖。
  • 我刚刚为我的案例找到了一个解决方案,在ion-content 中添加了scroll="false" data-tap-disabled="true"

标签: ionic ng-map


【解决方案1】:

我遇到了完全相同的问题! 包括标签 data-tap-disabled="true"

喜欢:

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

希望能帮到你!!

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多