我正在尝试从服务文件调用位置坐标并在谷歌地图视图中显示。但由于某种原因,数据绑定不起作用,并且没有错误,控制器正在从服务调用该对象。
我认为我的地图模板中存在一些错误,但我无法找出它是什么。有人可以帮我解决这个问题吗?谢谢。
代码如下:
地图模板
<div class="panel6 panel-primary">
<div class="panel-heading">Truck's Location</div>
<div class="panel-body">
<ng-map zoom="11" center="[49.8994, -97.1392]">
<marker position="[{{maploc.longitude}}, {{maploc.latitude}}]" />
<shape name="circle" center="[{{maploc.longitude}}, {{maploc.latitude}}]" radius="4000" />
<control name="overviewMap" opened="true" />
</ng-map>
</div>
</div>
服务文件
"use strict";
angular.module("fleetListModule").service("fleetsService",
function () {
this.getTrucks = function () {
return trucks;
};
var trucks = [
{
"iD": "1",
"status": "Running",
"destination": "WPG",
"alerts": "Nothing",
"longitude": "49.8994",
"latitude": "-98.1392"
}
];
});
控制器
"use strict";
angular.module("fleetMapModule").controller("fleetMapController",
['$scope', 'fleetsService',
function ($scope, fleetsService) {
$scope.$on('obtainMapLocation', function (event, map) {
var fleetMapLocs = fleetsService.getTrucks();
for (var i = 0; i < fleetMapLocs.length; i++) {
var fleetMapLoc = fleetMapLocs[i];
if (fleetMapLoc.iD == map.id) {
$scope.maploc = fleetMapLoc;
break;
}
}
});
}]);
答案 0 :(得分:0)
检查plunker它是否有效。如果您为$ scope.maploc设置默认值,您将看到标记。但问题出在 if 语句总是错误的。
if (fleetMapLoc.iD == map.id)