2016-08-09 5 views
0

私は、私の角型プロジェクトでuiGmapgoogle-mapsを使用しています。ブートストラップ後に 'uiGmapgoogle-maps' APIキーを設定するにはどうすればよいですか?

.config(function(uiGmapGoogleMapApiProvider) { 
    uiGmapGoogleMapApiProvider.configure({ 
     key: 'your api key', 
     v: '3.20', //defaults to latest 3.X anyhow 
     libraries: 'weather,geometry,visualization' 
    }); 
}) 

は、しかし、私の問題は、私は後で上のアプリケーションでまで、APIを持っていないです。私は、ある設定とブートストラッププロセスで実行する必要があり、その文書によると、APIキーを指定する必要があります生活。具体的には、apiキーはデータベースにあり、ユーザー固有のものです。ユーザーはログインする必要があり、apiキーにアクセスできます。

私はいくつかの研究を怠惰なloading angularjsコントローラにしましたが、私はこの特定の問題をどのように分類するかについて頭を悩ますことができませんでした。

したがって、私はどのようにこの設定をブーストラッププロセスの後に実行しますか?特にコントローラから。

+0

を彼自身のAPIキー?それは必須条件ですか?別途に –

+0

。私はバージョンが少なくとも3.22になる必要があると思う---私は短い時間前にプロジェクトで同じライブラリを使用した...私はGoogle Map APIでリファレンスを見つけることができないが、間違いなく変更する必要がある – mjabraham

+0

@MuliYulzaryはい、これはアプリケーションの要件です。 –

答えて

0

この問題を修正した後、私自身の質問に答えています。

私はプロバイダを作成しました:

provider('GmapsKey', class GmapsKey { 
    constructor() { 
     this.uiGmaps = null; 
    } 

    set key(key) { 
     this.uiGmaps.configure({key}); 
    } 

    $get() { 
     return this; 
    } 
}); 

config(['uiGmapGoogleMapApiProvider', 'GmapsKeyProvider', (uiGmapGoogleMapApiProvider, GmapsKeyProvider) => { 
    GmapsKeyProvider.uiGmaps = uiGmapGoogleMapApiProvider; 
}]); 

を、私は私のキー準備ができていたならば、私はGmapsKeyを注入し、キー設定:各ユーザーが持っていないのはなぜ

GmapsKey.key = userConfig.uGMapAPIKey; 
関連する問題