我在不同的文件中设置了不同的组件,但是当我聚合搜索输入时,我在本地出现了这个错误:
angular.js:13424 Error: Map container not found.
和plunker:
angular.js:13424Error: Map container is already initialized.
奇怪的是地图效果很好。怎么了?
答案 0 :(得分:0)
您已将地图初始化两次,一次在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);
希望能解决你的问题。
<强>更新强>
在您的演示中,自动完成工作正常,但未正确绑定到地图。例如,如果您搜索任何地方,您将无法在地图上找到此地点。我刚刚解决了你提到的错误。
对于自动完成,您使用的是Google API,对于basemap
,您使用了Leaflet
。
我的建议是:不要混用这两种方法,而是使用Leaflet.GoogleAutocomplete或Google Maps JavaScript API