docs/default.css
[roojs1] / docs / symbols / src / Roo_bootstrap_LocationPicker.js.html
1 <html><head><title>../roojs1/Roo/bootstrap/LocationPicker.js</title><link rel="stylesheet" type="text/css" href="../../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
2  * - LGPL
3  *
4  * Location Picker
5  * 
6  */
7
8 /**
9  * @class Roo.bootstrap.LocationPicker
10  * @extends Roo.bootstrap.Component
11  * Bootstrap LocationPicker class
12  * @cfg {Number} latitude Position when init default 0
13  * @cfg {Number} longitude Position when init default 0
14  * @cfg {Number} zoom default 15
15  * @cfg {String} mapTypeId default google.maps.MapTypeId.ROADMAP
16  * @cfg {Boolean} mapTypeControl default false
17  * @cfg {Boolean} disableDoubleClickZoom default false
18  * @cfg {Boolean} scrollwheel default true
19  * @cfg {Boolean} streetViewControl default false
20  * @cfg {Number} radius default 0
21  * @cfg {String} locationName
22  * @cfg {Boolean} draggable default true
23  * @cfg {Boolean} enableAutocomplete default false
24  * @cfg {Boolean} enableReverseGeocode default true
25  * @cfg {String} markerTitle
26  * 
27  * @constructor
28  * Create a new LocationPicker
29  * @param {Object} config The config object
30  */
31
32 </span><span class="jsdoc-var">Roo.bootstrap.LocationPicker </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
33     </span><span class="jsdoc-var">Roo.bootstrap.LocationPicker.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
34     
35      </span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
36             </span><span class="jsdoc-comment">/**
37              * @event positionchanged
38              * Fires when the picker initialized.
39              * @param {Roo.bootstrap.LocationPicker} this
40              * @param {Google Location} location
41              */
42             </span><span class="jsdoc-var">positionchanged </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
43         </span><span class="jsdoc-syntax">});
44         
45 };
46
47 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.LocationPicker</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.Component</span><span class="jsdoc-syntax">,  {
48     
49     </span><span class="jsdoc-var">gMapContext</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
50     
51     </span><span class="jsdoc-var">latitude</span><span class="jsdoc-syntax">: 0,
52     </span><span class="jsdoc-var">longitude</span><span class="jsdoc-syntax">: 0,
53     </span><span class="jsdoc-var">zoom</span><span class="jsdoc-syntax">: 15,
54     </span><span class="jsdoc-var">mapTypeId</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">google.maps.MapTypeId.ROADMAP</span><span class="jsdoc-syntax">,
55     </span><span class="jsdoc-var">mapTypeControl</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
56     </span><span class="jsdoc-var">disableDoubleClickZoom</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
57     </span><span class="jsdoc-var">scrollwheel</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
58     </span><span class="jsdoc-var">streetViewControl</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
59     </span><span class="jsdoc-var">radius</span><span class="jsdoc-syntax">: 0,
60     </span><span class="jsdoc-var">locationName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
61     </span><span class="jsdoc-var">draggable</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
62     </span><span class="jsdoc-var">enableAutocomplete</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
63     </span><span class="jsdoc-var">enableReverseGeocode</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
64     </span><span class="jsdoc-var">markerTitle</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
65     
66     </span><span class="jsdoc-var">getAutoCreate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
67     {
68         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
69             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
70             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-location-picker'
71         </span><span class="jsdoc-syntax">};
72         
73         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg
74     </span><span class="jsdoc-syntax">},
75     
76     </span><span class="jsdoc-var">initEvents</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">)
77     {   
78         
79     },
80     
81     </span><span class="jsdoc-var">initial</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
82     {
83         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isApplied</span><span class="jsdoc-syntax">()){
84             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
85         }
86         
87         </span><span class="jsdoc-var">this.gMapContext </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.GMapContext</span><span class="jsdoc-syntax">();
88         
89         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
90         
91         </span><span class="jsdoc-var">google.maps.event.addListener</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.gMapContext.marker</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;dragend&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">event</span><span class="jsdoc-syntax">) {
92             </span><span class="jsdoc-var">_this.setPosition</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.gMapContext.marker.position</span><span class="jsdoc-syntax">);
93         });
94         
95         </span><span class="jsdoc-var">this.setPosition</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.gMapContext.location</span><span class="jsdoc-syntax">);
96     },
97     
98     </span><span class="jsdoc-var">isApplied</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() 
99     {
100         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.getGmapContext</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">? </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
101     },
102     
103     </span><span class="jsdoc-var">getGmapContext</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() 
104     {
105         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.gMapContext
106     </span><span class="jsdoc-syntax">},
107     
108     </span><span class="jsdoc-var">GMapContext</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() 
109     {
110         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_map </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">google.maps.Map</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.dom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
111         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_marker </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">google.maps.Marker</span><span class="jsdoc-syntax">({
112             </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">google.maps.LatLng</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.latitude</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.longitude</span><span class="jsdoc-syntax">),
113             </span><span class="jsdoc-var">map</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">_map</span><span class="jsdoc-syntax">,
114             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.markerTitle</span><span class="jsdoc-syntax">,
115             </span><span class="jsdoc-var">draggable</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.draggable
116         </span><span class="jsdoc-syntax">});
117         
118         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
119             </span><span class="jsdoc-var">map</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">_map</span><span class="jsdoc-syntax">,
120             </span><span class="jsdoc-var">marker</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">_marker</span><span class="jsdoc-syntax">,
121             </span><span class="jsdoc-var">circle</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
122             </span><span class="jsdoc-var">location</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">_marker.position</span><span class="jsdoc-syntax">,
123             </span><span class="jsdoc-var">radius</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.radius</span><span class="jsdoc-syntax">,
124             </span><span class="jsdoc-var">locationName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.locationName</span><span class="jsdoc-syntax">,
125             </span><span class="jsdoc-var">addressComponents</span><span class="jsdoc-syntax">: {
126                 </span><span class="jsdoc-var">formatted_address</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
127                 </span><span class="jsdoc-var">addressLine1</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
128                 </span><span class="jsdoc-var">addressLine2</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
129                 </span><span class="jsdoc-var">streetName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
130                 </span><span class="jsdoc-var">streetNumber</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
131                 </span><span class="jsdoc-var">city</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
132                 </span><span class="jsdoc-var">district</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
133                 </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
134                 </span><span class="jsdoc-var">stateOrProvince</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null
135             </span><span class="jsdoc-syntax">},
136             </span><span class="jsdoc-var">settings</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
137             </span><span class="jsdoc-var">domContainer</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.el.dom</span><span class="jsdoc-syntax">,
138             </span><span class="jsdoc-var">geodecoder</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">google.maps.Geocoder</span><span class="jsdoc-syntax">()
139         };
140     },
141     
142     </span><span class="jsdoc-var">drawCircle</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">center</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">radius</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">) 
143     {
144         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.gMapContext.circle </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">) {
145             </span><span class="jsdoc-var">this.gMapContext.circle.setMap</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">);
146         }
147         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">radius </span><span class="jsdoc-syntax">&gt; 0) {
148             </span><span class="jsdoc-var">radius </span><span class="jsdoc-syntax">*= 1;
149             </span><span class="jsdoc-var">options </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">({}, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">, {
150                 </span><span class="jsdoc-var">strokeColor</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;#0000FF&quot;</span><span class="jsdoc-syntax">,
151                 </span><span class="jsdoc-var">strokeOpacity</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">.</span><span class="jsdoc-syntax">35,
152                 </span><span class="jsdoc-var">strokeWeight</span><span class="jsdoc-syntax">: 2,
153                 </span><span class="jsdoc-var">fillColor</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;#0000FF&quot;</span><span class="jsdoc-syntax">,
154                 </span><span class="jsdoc-var">fillOpacity</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">.</span><span class="jsdoc-syntax">2
155             });
156             
157             </span><span class="jsdoc-var">options.map </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.gMapContext.map</span><span class="jsdoc-syntax">;
158             </span><span class="jsdoc-var">options.radius </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">radius</span><span class="jsdoc-syntax">;
159             </span><span class="jsdoc-var">options.center </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">center</span><span class="jsdoc-syntax">;
160             </span><span class="jsdoc-var">this.gMapContext.circle </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">google.maps.Circle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">);
161             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.gMapContext.circle</span><span class="jsdoc-syntax">;
162         }
163         
164         </span><span class="jsdoc-keyword">return null</span><span class="jsdoc-syntax">;
165     },
166     
167     </span><span class="jsdoc-var">setPosition</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">location</span><span class="jsdoc-syntax">) 
168     {
169         </span><span class="jsdoc-var">this.gMapContext.location </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">location</span><span class="jsdoc-syntax">;
170         </span><span class="jsdoc-var">this.gMapContext.marker.setPosition</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">location</span><span class="jsdoc-syntax">);
171         </span><span class="jsdoc-var">this.gMapContext.map.panTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">location</span><span class="jsdoc-syntax">);
172         </span><span class="jsdoc-var">this.drawCircle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">location</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.gMapContext.radius</span><span class="jsdoc-syntax">, {});
173         
174         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
175         
176         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.gMapContext.settings.enableReverseGeocode</span><span class="jsdoc-syntax">) {
177             </span><span class="jsdoc-var">this.gMapContext.geodecoder.geocode</span><span class="jsdoc-syntax">({
178                 </span><span class="jsdoc-var">latLng</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.gMapContext.location
179             </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">results</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">status</span><span class="jsdoc-syntax">) {
180                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">status </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">google.maps.GeocoderStatus.OK </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">results.length </span><span class="jsdoc-syntax">&gt; 0) {
181                     </span><span class="jsdoc-var">_this.gMapContext.locationName </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">results</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.formatted_address</span><span class="jsdoc-syntax">;
182                     </span><span class="jsdoc-var">_this.gMapContext.addressComponents </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">_this.address_component_from_google_geocode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">results</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.address_components</span><span class="jsdoc-syntax">);
183                 }
184             });
185         }
186         
187         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'positionchanged'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">location</span><span class="jsdoc-syntax">);
188     },
189     
190     </span><span class="jsdoc-var">setPositionByLatLng</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">latitude</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">longitude</span><span class="jsdoc-syntax">)
191     {
192         </span><span class="jsdoc-var">this.setPosition</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">google.maps.LatLng</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">latitude</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">longitude</span><span class="jsdoc-syntax">));
193     },
194     
195     </span><span class="jsdoc-var">getCurrentPosition</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() 
196     {
197         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
198             </span><span class="jsdoc-var">latitude</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.gMapContext.location.lat</span><span class="jsdoc-syntax">(),
199             </span><span class="jsdoc-var">longitude</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.gMapContext.location.lng</span><span class="jsdoc-syntax">()
200         };
201     },
202     
203     </span><span class="jsdoc-var">getAddressName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() 
204     {
205         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.gMapContext.locationName</span><span class="jsdoc-syntax">;
206     },
207     
208     </span><span class="jsdoc-var">getAddressComponents</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() 
209     {
210         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.gMapContext.addressComponents</span><span class="jsdoc-syntax">;
211     },
212     
213     </span><span class="jsdoc-var">address_component_from_google_geocode</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">address_components</span><span class="jsdoc-syntax">) 
214     {
215         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">result </span><span class="jsdoc-syntax">= {};
216         </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">address_components.length </span><span class="jsdoc-syntax">- 1; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&gt;= 0; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">--) {
217             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">component </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">address_components</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
218             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">component.types.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;postal_code&quot;</span><span class="jsdoc-syntax">) &gt;= 0) {
219                 </span><span class="jsdoc-var">result.postalCode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">component.short_name</span><span class="jsdoc-syntax">;
220             } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">component.types.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;street_number&quot;</span><span class="jsdoc-syntax">) &gt;= 0) {
221                 </span><span class="jsdoc-var">result.streetNumber </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">component.short_name</span><span class="jsdoc-syntax">;
222             } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">component.types.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;route&quot;</span><span class="jsdoc-syntax">) &gt;= 0) {
223                 </span><span class="jsdoc-var">result.streetName </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">component.short_name</span><span class="jsdoc-syntax">;
224             } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">component.types.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;locality&quot;</span><span class="jsdoc-syntax">) &gt;= 0) {
225                 </span><span class="jsdoc-var">result.city </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">component.short_name</span><span class="jsdoc-syntax">;
226             } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">component.types.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;neighborhood&quot;</span><span class="jsdoc-syntax">) &gt;= 0) {
227                 </span><span class="jsdoc-var">result.city </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">component.short_name</span><span class="jsdoc-syntax">;
228             } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">component.types.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;sublocality&quot;</span><span class="jsdoc-syntax">) &gt;= 0) {
229                 </span><span class="jsdoc-var">result.district </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">component.short_name</span><span class="jsdoc-syntax">;
230             } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">component.types.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;administrative_area_level_1&quot;</span><span class="jsdoc-syntax">) &gt;= 0) {
231                 </span><span class="jsdoc-var">result.stateOrProvince </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">component.short_name</span><span class="jsdoc-syntax">;
232             } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">component.types.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;country&quot;</span><span class="jsdoc-syntax">) &gt;= 0) {
233                 </span><span class="jsdoc-var">result.country </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">component.short_name</span><span class="jsdoc-syntax">;
234             }
235         }
236         </span><span class="jsdoc-var">result.addressLine1 </span><span class="jsdoc-syntax">= [ </span><span class="jsdoc-var">result.streetNumber</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">result.streetName </span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot; &quot;</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.trim</span><span class="jsdoc-syntax">();
237         </span><span class="jsdoc-var">result.addressLine2 </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">;
238         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">result</span><span class="jsdoc-syntax">;
239     }
240     
241 });
242 </span></code></body></html>