以下是来自http://jsfiddle.net/M6RPn/26/的指令代码: 我想获得一个包含许多纬度和经度的JSON数据源。 我可以使用Angular中的$resource或$http轻松获取JSON,但是如何将其提供给此指令以在地图上绘制?
module.directive('sap', function() {
return {
restrict: 'E',
replace: true,
template: '<div></div>',
link: function(scope, element, attrs) {
var map = L.map(attrs.id, {
center: [40, -86],
zoom: 10
});
//create a CloudMade tile layer and add it to the map
L.tileLayer('http://{s}.tile.cloudmade.com/57cbb6ca8cac418dbb1a402586df4528/997/256/{z}/{x}/{y}.png', {
maxZoom: 18
}).addTo(map);
//add markers dynamically
var points = [{lat: 40, lng: -86},{lat: 40.1, lng: -86.2}];
for (var p in points) {
L.marker([points[p].lat, points[p].lng]).addTo(map);
}
}
};
});
$scope.pointsFromController = [];
这可能不起作用... 如果这样不起作用,那么您可以通过手动删除项目来实现:$scope.pointsFromController.splice(0, $scope.pointsFromController.length);
- Ben Lesh