Google Maps API手势处理不适用于AngularJS材质

Google Maps API手势处理不适用于AngularJS材质,angularjs,google-maps,angularjs-material,ng-map,Angularjs,Google Maps,Angularjs Material,Ng Map,(编辑:当您将纯谷歌地图API与AngularJS材质一起使用时,问题是相同的。) 当我在AngularJS应用程序中同时使用时: NgMap() AngularJS材料() 地图在移动设备上无法正常工作(在桌面上可以)-问题在于触摸手势。例如: -(在手机上测试!) 但当我不使用材料时: angular.module("incampoApp", ["ngMap"]) 而不是: angular.module("incampoApp", ["ngMap", "ngMaterial"]) 它

(编辑:当您将纯谷歌地图API与AngularJS材质一起使用时,问题是相同的。)

当我在AngularJS应用程序中同时使用时:

  • NgMap()
  • AngularJS材料()
地图在移动设备上无法正常工作(在桌面上可以)-问题在于触摸手势。例如:

-(在手机上测试!)

但当我不使用材料时:

angular.module("incampoApp", ["ngMap"])
而不是:

angular.module("incampoApp", ["ngMap", "ngMaterial"])
它工作正常:-(在手机上测试!)

我的全部示例代码(由typescript编译的JS):


var IncampoApp;
(功能(IncampoApp){
var OfferController=(函数(){
控制器功能(ngMap){
ngMap.getMap();
}
报价控制器。$inject=[“NgMap”];
返回报价控制器;
}());
IncampoApp.OfferController=OfferController;
})(印加波普| |)(印加波普={});
var IncampoApp;
(功能(IncampoApp){
角度模块(“incampoApp”、[“ngMap”、“ngMaterial”])控制器(“报价控制器”,incampoApp报价控制器);
})(印加波普| |)(印加波普={});
你知道为什么吗?

试试这个:
我在这里找到了解决方案:

您只需要调用$mdGestureProvider.skipClickHijack()


只有链接的答案不是最好的。。。如果链接下降,这个答案是无用的,所以请报告你的答案中的链接内容。明白了。谢谢。谢谢,但我需要使用API,因为我需要多个标记等。
<!DOCTYPE html>
<html ng-app="incampoApp">
<head>
</head>
<body ng-controller="offerController as vm">

<div map-lazy-load="https://maps.googleapis.com/maps/api/js?key=AIzaSyAyufiB6xUh1SzM7LK2NniXGDPyY__KtP8&callback=initMap">
    <ng-map id="map" min-zoom="2" zoom="6" center="52.2,19"></ng-map>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.4/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.4/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.4/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.4/angular-messages.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.10/angular-material.min.js"></script>
<script src="//rawgit.com/allenhwkim/angularjs-google-maps/master/build/scripts/ng-map.min.js"></script>

<script>
    var IncampoApp;
    (function (IncampoApp) {
        var OfferController = (function () {
            function OfferController(ngMap) {

                ngMap.getMap();
            }

            OfferController.$inject = ["NgMap"];

            return OfferController;
        }());
        IncampoApp.OfferController = OfferController;
    })(IncampoApp || (IncampoApp = {}));
</script>

<script>
    var IncampoApp;
    (function (IncampoApp) {
        angular.module("incampoApp", ["ngMap", "ngMaterial"]).controller("offerController", IncampoApp.OfferController);
    })(IncampoApp || (IncampoApp = {}));
</script>
</body>
</html>
 angular.module('myapp', ['ngMaterial', 'ngMessages'])
  .config(function($mdGestureProvider) {
    // For mobile devices without jQuery loaded, do not
    // intercept click events during the capture phase.
    $mdGestureProvider.skipClickHijack();
  });