【问题标题】:angularjs ReferenceError: google is not definedangularjs ReferenceError:谷歌未定义
【发布时间】:2016-07-07 15:51:42
【问题描述】:

我正在尝试在我的应用程序中使用谷歌地图的 api 来进行位置选择器。通过访问此网址

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&libraries=places&language=en-US"></script>

虽然这在本地解决方案中有效,但在我的主应用程序中无效。它给出了错误

ReferenceError: google is not defined angular.js:13294
at HTMLDocument.<anonymous> (VM6558 locator.js:87)
at fire (jquery.js:3187)
at Object.self.add [as done] (jquery.js:3246)
at jQuery.fn.ready (jquery.js:3496)
at Object.<anonymous> (VM6558 locator.js:86)
at Object.invoke (angular.js:4625)
at Object.enforcedReturnValue [as $get] (angular.js:4464)
at Object.invoke (angular.js:4625)
at angular.js:4424 

脚本的顺序

<link rel="stylesheet" href="libs/bootstrap/dist/css/bootstrap.min.css"/>
<script type="text/javascript" src="libs/jquery/dist/jquery.min.js">  </script>
<script type="text/javascript" src="libs/jquery-ui/jquery-ui.min.js"></script>
<link rel="stylesheet" href="/public/libs/jquery-ui/themes/smoothness/jquery-ui.css"> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&libraries=places&language=en-US"></script>
<script src="libs/angular/angular.js"></script>
<script src="libs/angular-route/angular-route.js"></script>
<script src="libs/angular-animate/angular-animate.js"></script>

【问题讨论】:

  • 所以,在控制台中看到另一个错误,也可能在 angular 之后加载谷歌脚本
  • 谢谢你..但控制台中除此之外没有其他错误..并且脚本是有序的..
  • 你能提供重现问题的工作样本吗?例如这里在 sn-p 中,或者在 jsfiddle&
  • 请提供所有脚本的顺序
  • 我在使用 ngmap 时遇到了同样的问题,并通过更改脚本加载的顺序来解决。

标签: javascript angularjs google-maps google-maps-api-3


【解决方案1】:

vm.initialize = function(){
        var mapOptions = {
          zoom: 14,
          center: new google.maps.LatLng(10.772573, 106.698000)
        }

        map = new google.maps.Map(document.getElementById('order-detail-map'), mapOptions);
        latlng = new google.maps.LatLng(vm.order.customer.address.position.lat, vm.order.customer.address.position.long);
        setTimeout(function(){
          google.maps.event.trigger(map, 'resize');
          map.setCenter(latlng);
        }, 50);

        myMarker = new google.maps.Marker({
          draggable: false,
          animation: google.maps.Animation.DROP,
          icon: "i/marker.png",
          position:latlng
        });
        myMarker.setMap(map);
      }
      google.maps.event.addDomListener(window, 'load', vm.initialize()); 

【讨论】:

    猜你喜欢
    • 2019-06-13
    • 2012-08-28
    • 1970-01-01
    • 2014-07-27
    • 2020-09-20
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    相关资源
    最近更新 更多