2016-04-19 31 views
0

我在分开的文件中设置不同的组件,但是当我聚合搜索输入,我在本地得到这个错误:为什么我得到这个错误有角和小叶

angular.js:13424 Error: Map container not found. 

和plunker:

angular.js:13424Error: Map container is already initialized. 

奇怪的是,地图效果很好。怎么了?

Code

回答

0

Working Demo

你已经初始化两次的地图,一个在BaseMapController,另一个在inputController

BaseMapController,取代

_map = BaseMapService.mapElement(); 

$scope.map = BaseMapService.mapElement(); 
_map=$scope.map; 

inputController,取代

BaseMapService.AutoComplete(_searchInputId).bindTo('bounds', BaseMapService.mapElement()); 

BaseMapService.AutoComplete(_searchInputId).bindTo('bounds', $scope.map); 

。希望解决您的问题。

更新:

在您的演示,自动完成工作正常,但它没有正确绑定映射。例如,如果你搜索任何地方,你不会在地图上找到这个地方。我刚刚解决了你提到的错误。

对于自动完成,你已经使用谷歌API和basemap,你已经使用Leaflet

我的建议是:与其将它们混合这两种方法,要么使用Leaflet.GoogleAutocompleteGoogle Maps JavaScript API

+0

但service.js可以做到这一点? service.js将映射变量共享给BaseMapController和Input.Controller。我需要这样做,但在service.js? – pokaxperia

+0

而现在,输入不行:P – pokaxperia

+0

我已经更新我的答案。 –