Javascript AngularJS-传单-该;中心“;属性未在主范围中定义

Javascript AngularJS-传单-该;中心“;属性未在主范围中定义,javascript,angularjs,angular-leaflet-directive,Javascript,Angularjs,Angular Leaflet Directive,我已经正确设置了传单.js,地图在我的应用程序中按预期呈现。但是,我一直收到以下错误消息:主范围中未定义“center”属性。我做错了什么 我认为: <leaflet markers="markers" center="osloCenter"></leaflet> 我还尝试了以下方法: scope.osloCenter = { lat : 59.91, lng : 10.75, zo

我已经正确设置了传单.js,地图在我的应用程序中按预期呈现。但是,我一直收到以下错误消息:
主范围中未定义“center”属性
。我做错了什么

我认为:

<leaflet markers="markers" center="osloCenter"></leaflet>
我还尝试了以下方法:

       scope.osloCenter  = {
            lat : 59.91,
            lng : 10.75,
            zoom : 12
        };

        $scope.osloMarker = {
            lat: 59.91,
            lng: 10.75,
            focus: true,
            draggable: false
        };

需要在$rootScope的应用程序级别(即app.js)初始化该对象:

 function runBlock($rootScope) {
   angular.extend($rootScope, {
     center: {},
     markers: {},
   });
 }
然后可以在控制器内设置所需的值:

function MapCtrl($scope) {
    angular.extend($scope, {
          osloCenter: {
                lat: 59.91,
                lng: 10.75,
                zoom: 12
        },
        markers: {
            osloMarker: {
                lat: 59.91,
                lng: 10.75,
                focus: true,
                draggable: false
            }
        defaults: {
            scrollWheelZoom: false
        }
    });
};
var centerLat = parseFloat($stateParams.lat);
var centerLng = parseFloat($stateParams.lon);

$scope.center = {
  lat: centerLat,
  lng: centerLng,
  zoom: 15
};    

$scope.markers = {
  marker: {
    lat: centerLat,
    lng: centerLng,
    focus: true,
    draggable: false
  }
};