2016-04-19 35 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

我已經更新我的答案。 –