2017-02-01 13 views
1

GoogleマップAPIドキュメントは、scriptタグを使用してGoogleマップインスタンスにアクセスし、グローバル変数にします。グローバルでなくてもマップインスタンスにアクセスできますか?グローバル変数にすることなくGoogleマップインスタンスにアクセスできますか?

angular-google-maps npm/bowerパッケージではスクリプトタグを使用していませんが、残念ながら現在は維持されていないため、私が取り組んでいるプロジェクトがそれから離れています。

答えて

0

マップをモジュールに入れることができます。例えば

var app = (function(){ 

    var map = null; 
    var init = function(){ 
     map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 10, 
      center: {lat:1, lng:1} 
     }); 

    return { 
     init: init 
    }; 

})(); 

そしてあなたのHTMLのスクリプトタグ内:

<script async defer src="https://maps.googleapis.com/maps/api/js?key=API_KEY&callback=app.init"></script> 

あなたの "アプリ" モジュールは、 "グローバル" でなければならないであろうが、それは必要であるという理由だけで。私はそれを行うための他の方法があると確信していますが、これは最初に頭に浮かんだものです。

+0

ご回答いただきありがとうございます。問題は、Googleマップオブジェクトがまだグローバルスペースから取得されていることです。私は、 "angular-google-maps"ソースコードのフードを見て、私が見つけたものだと思います。そのパッケージはスクリプトタグを受け取るためにスクリプトタグを使用しません。 – Rusticman

関連する問題