带有$ routeProvider的Angular leaflet-directive

时间:2013-09-17 18:14:44

标签: angularjs leaflet

我想使用带角度JS的传单插件。我找到了这个指令 https://github.com/tombatossals/angular-leaflet-directive 在官方角度教程之后,我用ngview和$ routeProvider创建了这个代码 http://jsfiddle.net/dmpDu/6/ 显示地图但不应用控制器中的参数 我在chrome的调试控制台中有这个警告:“[AngularJS - Leaflet]'center'在当前范围内是未定义的,你是否忘记初始化它?”

如果我不使用$ routeProvider并声明我的控制器,那就没关系

app.controller("DemoController", [ "$scope", function($scope) {
           angular.extend($scope, {
               london: {
                   lat: 51.505,
                   lng: -0.09,
                   zoom: 4
               }
           });
       }]); 

如果我想使用像这样的routeprovider

app.config(function($routeProvider,  $locationProvider) {
    $routeProvider.
    when('/Home', {templateUrl: '/partials/HomeList.html', controller:  HomeListCtrl}).
    otherwise({redirectTo: '/Home'});
    $locationProvider.html5Mode(true);
});

并像那样定义控制器

function HomeListCtrl($rootScope,$scope,$routeParams, $location,$http) {
    activity_name = "home";
    console.log("test");

angular.extend($scope, {
               london: {
                   lat: 51.505,
                   lng: -0.09,
                   zoom: 4
               }
           });
}

中心未定义:p和我有错误

[AngularJS - Leaflet] 'center' is undefined in the current scope, did you forget to initialize it? 
你可以给我一些帮助吗? THKS

1 个答案:

答案 0 :(得分:2)

在您的宣传单声明中,您有:center =" center"

<leaflet defaults="defaults" center="center"  id="leaflet"></leaflet>

这是指令缺失的中心。将其更改为中心=&#34; 伦敦&#34;

<leaflet defaults="defaults" center="london"  id="leaflet"></leaflet>