2016-04-19 12 views
0

ich verschiedene Komponenten in getrennten Dateien festgelegt, aber wenn ich eine Sucheingabe aggregieren, bekomme ich diesen Fehler in local:Warum bekomme ich diesen Fehler mit Winkel- und Faltblatt

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

und in Plunker:

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

Das Merkwürdige ist, dass die Karte gut funktioniert. Was ist los mit dir?

Code

Antwort

0

Working Demo

Sie die Karte zweimal in BaseMapController und eine weitere in inputController initialisiert haben.

In BaseMapController ersetzen

_map = BaseMapService.mapElement(); 

mit

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

In inputController ersetzen

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

mit

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

Hoffe, dass Sie Ihr Problem lösen.

Update:

In Ihrer Demo, die automatische Vervollständigung funktioniert gut, aber es ist nicht richtig abzubilden gebunden. Zum Beispiel, wenn Sie einen beliebigen Ort suchen, werden Sie diesen Ort auf der Karte nicht finden. Ich habe gerade den Fehler behoben, den Sie erwähnt haben.

Für die automatische Vervollständigung haben Sie Google API verwendet und für basemap haben Sie Leaflet verwendet.

Mein Vorschlag ist: Anstatt diese Vermischung beider Ansätze, entweder verwenden Leaflet.GoogleAutocomplete oder Google Maps JavaScript API

+0

Aber die service.js das tun kann ?. service.js teilt die Map-Variable mit BaseMapController und Input.Controller. Ich muss das tun, aber in service.js? – pokaxperia

+0

Und jetzt funktioniert der Eingang nicht: P – pokaxperia

+0

Ich habe meine Antwort aktualisiert. –

Verwandte Themen