2016-04-19 12 views
0

リーフレットなぜ私は分離したファイルに異なるコンポーネントを設定するが、私は、検索入力を集約するとき、私は地元にこのエラーが表示されます。私は角度でこのエラーを取得し、

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

とplunkerで:

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

奇妙なことはマップがうまく機能することです。どうしましたか?

Code

答えて

0

Working Demo

あなたは、二回BaseMapControllerに1つ、inputController内の別のマップを初期化してきました。 BaseMapController

_map = BaseMapService.mapElement(); 

inputController

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

で置き換える置き換え

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

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

あなたの問題を解決することを願っています。

更新:あなたのデモで

、オートコンプリートが正常に動作しますが、適切にマッピングするためにバインドされていません。たとえば、場所を検索すると、地図上にこの場所が見つかりません。私はあなたが言及したエラーを解決しました。

自動完成の場合はgoogle APIを使用し、basemapの場合はLeafletを使用しています。どちらか、むしろこれら両方のアプローチを混合よりLeaflet.GoogleAutocompleteまたはGoogle Maps JavaScript API

+0

を使用しますが、service.jsはそれを行うことができます?。:

私の提案はありますservice.jsはMap変数をBaseMapControllerとInput.Controllerに共有します。私はこれをする必要がありますが、service.jsで? – pokaxperia

+0

そして、入力が機能しません:P – pokaxperia

+0

私は自分の答えを更新しました。 –

関連する問題