2015-05-24 59 views
2

我以爲自己以前做過這樣的事情,但是我堅持要做一些簡單的事情。這是使用ngMapngMap中的ngRepeat中的簡單操作不起作用

<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> 

我的HTML,然後我有一個控制器:

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; 
}); 

我結束了所有在0,0 6個標記,而不是2阿姆斯特丹 - 見Plnkr。任何想法有什麼不對?

回答

1

在這種情況下會發生名稱衝突。 map指令在已經定義的控制器對象的範圍內創建地圖對象。所以只需將mapCtrl as map重命名爲其他內容即可。例如mapCtrl as mapCtrl

+0

感謝您的觀察 –