我很困惑,因为 AngularJs 和 HTML 代码几乎与可以运行的项目完全相同,但这也是我第一次使用 LAMP 而不是 MEAN/MERN,所以也许与此有关?
我的 HTML 文件是:
<div ng-controller="map-controller">
<ng-map center="35.5951,-82.5515" zoom="12" on-click="vm.placeCheckpoint(data)">
<!-- Place marker for each checkpoint -->
<marker id='{{checkpoint._id}}'
ng-repeat="checkpoint in vm.checkpoints"
position="{{checkpoint.position}}"
on-click="vm.showDetail(checkpoint)"
>
</marker> <!-- this doesn't display -->
<marker position="35.5951,-82.5515"></marker> <!--this displays -->
</ng-map>
</div>
map-controller.js 是:
(function(window, angular, undefined) {
angular.module('map')
.controller('map-controller', ['NgMap', '$window', 'mapService',
function(NgMap, $window, mapService) {
var vm = this;
// ==================== Map =====================================
// Display map
NgMap.getMap().then(function(map) {
vm.map = map;
});
// Populate map with checkpoints
mapService.getCheckpoints().then(function(data) {
vm.checkpoints = data;
console.log(vm.checkpoints); // logs as a list of objects
});
}])
})(window, window.angular);
关于服务器、变量名称之间的唯一区别,以及 Google 让我为此使用 API 密钥,而另一个不需要它。他们都使用相同的 API 来获取数据。
另外,如果我尝试添加指令,地图就会消失。