我正在使用ngmap和angularjs在谷歌地图上生成点。我在我的本地服务器上工作得很好,但是当你移动到生产服务器时不显示地图。看到控制台看到以下错误:“错误:未定义谷歌”
我的代码:
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>
答案 0 :(得分:1)
<script src = '/assets/vendor/ngmap/build/scripts/ng-map.min.js'></script>
引用本地资产。 检查此文件是否可用于生产服务器。
答案 1 :(得分:1)
错误是: 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