1

angular JSでリーフレットプラグインを使用したい。このディレクティブ https://github.com/tombatossals/angular-leaflet-directive を公式の角度チュートリアルに従って見つけました。ngview と $routeProvider を使用してこのコードを作成しました http://jsfiddle.net/dmpDu/6/ マップが表示されますしかし、コントローラーのパラメーターは適用されません。chrome のデバッグ コンソールに次の警告があります。

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

助けてもらえますか?ありがとう

4

1 に答える 1

2

リーフレットの宣言には、次のものがあります: center="center"

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

これは、ディレクティブが欠落している中心です。center=" london "に変更します。

<leaflet defaults="defaults" center="london"  id="leaflet"></leaflet>
于 2013-12-02T21:01:28.693 に答える