如何在同一页面上有2个不同的地图

时间:2016-04-17 00:36:48

标签: angularjs leaflet

我对角和传单都很陌生。试图在同一页面上获得2张地图,但是当我添加第二张地图时,我收到错误:错误:[ng:areq]参数' bFC'不是一个功能,未定义。我已经搜索了一个解决方案但是出现了很短的问题 - 处理使用两组不同的geoJSON文件。非常感谢任何帮助,谢谢!

这是我的代码:

**index.html**
<div class="container">
<!-- BaseMap -->
<div ng-controller="bFC">
    <h1>First Step Basic Map</h1>
    <leaflet width="100%" height="480px"></leaflet> 
</div> 

<!-- CenterMap -->
<div ng-controller="centerMap">
    <h1>Center Map</h1>
    <leaflet lf-center="dc"width="100%" height="480px"></leaflet>
    <ul>
        <li><input type="number" step="any" ng-model="dc.lat" />Latitude</li>
        <li><input type="number" step="any" ng-model="dc.lng" />Longitude</li>
        <li><input type="number" step="any" ng-model="dc.zoom" />Zoom</li>
    </ul>
</div>  


</div>

**baseMap.ctr.js**

(function() {

"use strict";

angular
    .module("demomap", ['leaflet-directive'])
    .controller("bFC", bFC);

function bFC($scope) {

}   

})();


**centerMap.ctr.js**

(function() {

"use strict";

angular
    .module("demomap", ['leaflet-directive'])
    .controller("centerMap", centerMap);

function centerMap($scope) {
    angular.extend($scope, {
        dc : {
            lat: 38.91,
            lng: -77.03,
            zoom: 4
        }
    });

}   

})();

1 个答案:

答案 0 :(得分:0)

如果您这样做,则创建一个新模块:

angular.module('myModule', [...]);

如果你想获得一个存在的模块,你应该删除第二个参数:

angular.module('myModule');

centerMap.ctr.js中的模块“demomap”是重复的。它将创建一个新模块并替换baseMap.ctr.js中的模块。只需删除centerMap.ctr.js中模块函数的第二个参数。