【问题标题】:ngmap for markers in google mapngmap 用于谷歌地图中的标记
【发布时间】:2015-08-17 17:02:39
【问题描述】:

我正在使用 ngmap 和 angularjs 在谷歌地图上生成点。我在我的本地服务器上工作得很好,但是当你移动到生产服务器时不显示地图。看到控制台看到如下错误:“Error: google is not defined”

我的代码:

    var app = angular.module('dataview', ['ngMap'])
    app.controller('DataViewCtrl', function($scope, $http)
    {
      $scope.markers[{lat:30.2817, lng:-81.5273},{lat:30.6824, lng:-81.9680},{lat:31.0004, lng:-82.1580}];

      $scope.mapcenter={lat:$scope.markers[0].lat, lng:$scope.markers[0].lng};
    }
  <script src = 'http://maps.google.com/maps/api/js?v=3&sensor=true'></script>
 <script src = '/assets/vendor/ngmap/build/scripts/ng-map.min.js'></script>
    <map center="{{mapcenter.lat}}, {{mapcenter.lng}}" zoom="5" ng-if="is_map" style="height: 500px;">
        <marker ng-repeat="pos in markers" position="{{pos.lat}}, {{pos.lng}}"></marker>
    </map>

【问题讨论】:

  • 错误是

标签: angularjs ng-map


【解决方案1】:
<script src = '/assets/vendor/ngmap/build/scripts/ng-map.min.js'></script>

正在引用本地资产。 检查此文件是否可用于生产服务器。

【讨论】:

  • 服务器上所有资源都可用,否则会报“injector error”,不是这样
  • 由于您自己找到了答案,因此您可以为自己的问题添加答案,然后将其作为正确答案。我无法对上述内容发表评论,因为我没有足够高的代表。
【解决方案2】:

错误是: src = 'http://maps.google.com/maps/api/js?v=3&sensor=true. 生产服务器在 https 环境中。 解决办法: src = 'https://maps.google.com/maps/api/js?v=3&sensor=true'。 HTTPS 不是 HTTP

【讨论】:

    猜你喜欢
    • 2016-11-25
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    相关资源
    最近更新 更多