8

Sto usando http://angular-google-maps.org/ è una bella libreria angolare di google maps. Ma voglio utilizzare un'istanza mappa che viene caricato non nel contesto angularjs da qualcosa di simile a questo:AngularJS istanza mappa direttiva Google Map

$scope.map = { 
events: { 
    tilesloaded: function (map) { 
      $scope.$apply(function() { 
       $scope.mapInstance = map;   
      }); 
     } 
    } 
} 

Ok bello ho mapInstance e posso usarlo a livello di codice. Ma nel ciclo di vita delle applicazioni questo fuoco fino a tardi - quindi in altre parole voglio caricare l'intera direttiva (e ottenere l'istanza di mappa) prima di un altro codice - dove non voglio usare altri eventi di mappa.

risposta

26

Nel recente guardando modi per ottenere l'istanza mappa dall'esempio sulla pagina docs, mi sono imbattuto in questo, invece:

$scope.map.control.getGMap(). 

Assicurarsi che sul vostro markup google-maps HTML, si ha l'attributo opzioni impostare come control="map.control" e un oggetto vuoto impostato nell'oggetto $scope.map.

$scope.map= { control : {}, ...other map options...}; 

Gli oggetti vuoti vengono riempiti quando viene avviata la mappa di google. Spero che questo aiuti e non sia troppo tardi.

Godetevi Angular !!!

+0

Questo è esattamente ciò di cui avevo bisogno .. grazie! –

+0

Grazie EdwinA :) – Angudroid

+0

Come promuovi il caricamento della mappa per assicurarti di non provare a eseguire il rendering dei marcatori prima, ad esempio? – sgimeno