在ngMap中的ngRepeat简单无法正常工作

时间:2015-05-24 18:38:52

标签: angularjs ng-map

我以为我以前做过这种事情,但是我一直试图做一些简单的事情。这是我使用ngMap的HTML

<html ng-app="myApp" ng-controller="mapCtrl as map">
....
<map center="52.374, 4.899" zoom="12">
  <marker ng-repeat="m in map.data" title="{{m.name}}" position="{{m.lat}},{{m.lng}}"></marker>
</map>

然后我有一个控制器:

angular.module("myApp")
.controller('mapCtrl', function() {
    var vm = this;

    vm.data = [
        {"name": "A1", "lat":52.38, "lng":4.9},
        {"name": "A2", "lat":52.39, "lng":4.87}
    ];

    return vm;
});

我最终得到6个标记,均为0,0,而不是阿姆斯特丹的2个 - 见Plnkr。任何想法有什么不对?

1 个答案:

答案 0 :(得分:1)

在这种情况下,会发生名称冲突。 map指令在已定义的控制器对象的范围内创建映射对象。所以只需将mapCtrl as map重命名为其他内容即可。例如mapCtrl as mapCtrl