Blame view

bower_components/google-apis/google-maps-api.html 3.76 KB
73bcce88   luigser   COMPONENTS
1
2
3
4
5
6
7
8
9
10
11
12
  <!--
  Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
  This code may only be used under the BSD style license found at https://polymer.github.io/LICENSE.txt
  The complete set of authors may be found at https://polymer.github.io/AUTHORS.txt
  The complete set of contributors may be found at https://polymer.github.io/CONTRIBUTORS.txt
  Code distributed by Google as part of the polymer project is also
  subject to an additional IP rights grant found at https://polymer.github.io/PATENTS.txt
  -->
  
  <link rel="import" href="../polymer/polymer.html">
  <link rel="import" href="../iron-jsonp-library/iron-jsonp-library.html">
  
a1a3bc73   Luigi Serra   graphs updates
13
  <!--
73bcce88   luigser   COMPONENTS
14
15
16
17
18
19
20
21
22
23
  Dynamically loads the Google Maps JavaScript API, firing the `api-load` event when ready.
  
  #### Example
  
      <google-maps-api api-key="abc123" version="3.exp"></google-maps-api>
      <script>
        var mapsAPI = document.querySelector('google-maps-api');
        mapsAPI.addEventListener('api-load', function(e) {
          // this.api === google.maps
        });
a1a3bc73   Luigi Serra   graphs updates
24
      </script>
73bcce88   luigser   COMPONENTS
25
26
27
  
  Any number of components can use `<google-maps-api>` elements, and the library will only be loaded once.
  
eb240478   Luigi Serra   public room cards...
28
  @summary Element wrapper around Google Maps API.
a1a3bc73   Luigi Serra   graphs updates
29
30
  -->
  <script>
73bcce88   luigser   COMPONENTS
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
    Polymer({
  
      is: 'google-maps-api',
  
      behaviors: [
        Polymer.IronJsonpLibraryBehavior
      ],
  
      properties: {
  
        /** @private */
        mapsUrl: {
          type: String,
          value: 'https://maps.googleapis.com/maps/api/js?callback=%%callback%%'
        },
  
        /**
         * A Maps API key. To obtain an API key, see developers.google.com/maps/documentation/javascript/tutorial#api_key.
         */
        apiKey: {
          type: String,
          value: ''
        },
  
        /**
         * A Maps API for Business Client ID. To obtain a Maps API for Business Client ID, see developers.google.com/maps/documentation/business/.
         * If set, a Client ID will take precedence over an API Key.
         */
        clientId: {
          type: String,
          value: ''
        },
  
        /**
73bcce88   luigser   COMPONENTS
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
         * Version of the Maps API to use.
         */
        version: {
          type: String,
          value: '3.exp'
        },
  
        /**
         * The localized language to load the Maps API with. For more information
         * see https://developers.google.com/maps/documentation/javascript/basics#Language
         *
         * Note: the Maps API defaults to the preffered language setting of the browser.
         * Use this parameter to override that behavior.
         */
        language: {
          type: String,
          value: ''
        },
        /**
         * If true, sign-in is enabled.
         * See https://developers.google.com/maps/documentation/javascript/signedin#enable_sign_in
         */
        signedIn: {
          type: Boolean,
          value: false
        },
  
        /**
         * Fired when the Maps API library is loaded and ready.
         * @event api-load
         */
        /**
         * Name of event fired when library is loaded and available.
         */
        notifyEvent: {
          type: String,
          value: 'api-load'
        },
  
        /** @private */
        libraryUrl: {
          type: String,
eb240478   Luigi Serra   public room cards...
107
          computed: '_computeUrl(mapsUrl, version, apiKey, clientId, language, signedIn)'
73bcce88   luigser   COMPONENTS
108
109
110
        }
      },
  
eb240478   Luigi Serra   public room cards...
111
      _computeUrl: function(mapsUrl, version, apiKey, clientId, language, signedIn) {
73bcce88   luigser   COMPONENTS
112
113
        var url = mapsUrl + '&v=' + version;
  
eb240478   Luigi Serra   public room cards...
114
115
        // Always load all Maps API libraries.
        url += '&libraries=drawing,geometry,places,visualization';
73bcce88   luigser   COMPONENTS
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
  
        if (apiKey && !clientId) {
          url += '&key=' + apiKey;
        }
  
        if (clientId) {
          url += '&client=' + clientId;
        }
  
        if (language) {
          url += '&language=' + language;
        }
  
        if (signedIn) {
          url += '&signed_in=' + signedIn;
        }
        return url;
      },
  
      /**
       * Provides the google.maps JS API namespace.
       */
      get api() {
        return google.maps;
      }
    });
  </script>