UNPKG

65.8 kBMarkdownView Raw
1# Change Log
2
3All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
5<a name="9.4.5"></a>
6## [9.4.5](https://github.com/tomchentw/react-google-maps/compare/v9.4.4...v9.4.5) (2018-01-05)
7
8
9### Bug Fixes
10
11* **types:** fix OverlayView type definition ([6955d01](https://github.com/tomchentw/react-google-maps/commit/6955d01))
12
13
14
15<a name="9.4.4"></a>
16## [9.4.4](https://github.com/tomchentw/react-google-maps/compare/v9.4.3...v9.4.4) (2018-01-04)
17
18
19
20<a name="9.4.3"></a>
21## [9.4.3](https://github.com/tomchentw/react-google-maps/compare/v9.4.2...v9.4.3) (2017-12-14)
22
23
24### Bug Fixes
25
26* **places/SearchBox:** undefined child at unmount ([0c8e943](https://github.com/tomchentw/react-google-maps/commit/0c8e943))
27
28
29
30<a name="9.4.2"></a>
31## [9.4.2](https://github.com/tomchentw/react-google-maps/compare/v9.4.1...v9.4.2) (2017-12-06)
32
33
34### Bug Fixes
35
36* **package.json:** move eslint to devDependencies ([#715](https://github.com/tomchentw/react-google-maps/issues/715)) ([bab1481](https://github.com/tomchentw/react-google-maps/commit/bab1481))
37
38
39
40<a name="9.4.1"></a>
41## [9.4.1](https://github.com/tomchentw/react-google-maps/compare/v9.4.0...v9.4.1) (2017-11-26)
42
43
44### Bug Fixes
45
46* **addons/InfoBox:** named require from `google-maps-infobox` module ([6fc7841](https://github.com/tomchentw/react-google-maps/commit/6fc7841)), closes [#711](https://github.com/tomchentw/react-google-maps/issues/711)
47
48
49
50<a name="9.4.0"></a>
51# [9.4.0](https://github.com/tomchentw/react-google-maps/compare/v9.3.0...v9.4.0) (2017-11-25)
52
53
54### Bug Fixes
55
56* **types/index.d.ts:** draggable property type ([#710](https://github.com/tomchentw/react-google-maps/issues/710)) ([7a29420](https://github.com/tomchentw/react-google-maps/commit/7a29420))
57
58
59### Features
60
61* **StandaloneSearchBox:** accept wrapped input ([#709](https://github.com/tomchentw/react-google-maps/issues/709)) ([55a2f55](https://github.com/tomchentw/react-google-maps/commit/55a2f55))
62
63
64
65<a name="9.3.0"></a>
66# [9.3.0](https://github.com/tomchentw/react-google-maps/compare/v9.2.3...v9.3.0) (2017-11-24)
67
68
69### Bug Fixes
70
71* **package.json:** files including `src/` ([9b18f8d](https://github.com/tomchentw/react-google-maps/commit/9b18f8d))
72
73
74### Features
75
76* **package.json:** add TypeScript definitions. ([#646](https://github.com/tomchentw/react-google-maps/issues/646)) ([072b4c7](https://github.com/tomchentw/react-google-maps/commit/072b4c7)), closes [#363](https://github.com/tomchentw/react-google-maps/issues/363)
77
78
79
80<a name="9.2.3"></a>
81## [9.2.3](https://github.com/tomchentw/react-google-maps/compare/v9.2.2...v9.2.3) (2017-11-24)
82
83
84### Bug Fixes
85
86* **addons/MarkerClusterer:** add missed cluster class binding ([#706](https://github.com/tomchentw/react-google-maps/issues/706)) ([f008c2c](https://github.com/tomchentw/react-google-maps/commit/f008c2c))
87* **InfoWindow:** do not remove container element on mount ([ed764c6](https://github.com/tomchentw/react-google-maps/commit/ed764c6)), closes [#696](https://github.com/tomchentw/react-google-maps/issues/696)
88
89
90
91<a name="9.2.2"></a>
92## [9.2.2](https://github.com/tomchentw/react-google-maps/compare/v9.2.1...v9.2.2) (2017-11-03)
93
94
95### Bug Fixes
96
97* **InfoWindow:** use `ReactDOM.createPortal` in React@^16 ([6a61f2c](https://github.com/tomchentw/react-google-maps/commit/6a61f2c)), closes [#691](https://github.com/tomchentw/react-google-maps/issues/691)
98
99
100
101<a name="9.2.1"></a>
102## [9.2.1](https://github.com/tomchentw/react-google-maps/compare/v9.2.0...v9.2.1) (2017-10-27)
103
104
105### Bug Fixes
106
107* **addons/InfoBox:** don't open again on update ([72cb16f](https://github.com/tomchentw/react-google-maps/commit/72cb16f)), closes [#682](https://github.com/tomchentw/react-google-maps/issues/682)
108* **InfoWindow:** don't open again on update ([98a9c1f](https://github.com/tomchentw/react-google-maps/commit/98a9c1f)), closes [#670](https://github.com/tomchentw/react-google-maps/issues/670)
109
110
111
112<a name="9.2.0"></a>
113# [9.2.0](https://github.com/tomchentw/react-google-maps/compare/v9.1.0...v9.2.0) (2017-10-26)
114
115
116### Features
117
118* **places/SearchBox:** allow other elements around SearchBox input ([238a352](https://github.com/tomchentw/react-google-maps/commit/238a352))
119
120
121
122<a name="9.1.0"></a>
123# [9.1.0](https://github.com/tomchentw/react-google-maps/compare/v9.0.3...v9.1.0) (2017-10-26)
124
125
126### Features
127
128* **package.json:** support `react@^16.0.0` ([963716d](https://github.com/tomchentw/react-google-maps/commit/963716d)), closes [#677](https://github.com/tomchentw/react-google-maps/issues/677) [#640](https://github.com/tomchentw/react-google-maps/issues/640)
129* **package.json:** upgrade to `recompose@^0.26.0` ([ebb9be8](https://github.com/tomchentw/react-google-maps/commit/ebb9be8))
130* **places/SearchBox:** support `react@^16.0.0` ([94931ae](https://github.com/tomchentw/react-google-maps/commit/94931ae)), closes [#640](https://github.com/tomchentw/react-google-maps/issues/640) [#656](https://github.com/tomchentw/react-google-maps/issues/656)
131
132
133
134<a name="9.0.3"></a>
135## [9.0.3](https://github.com/tomchentw/react-google-maps/compare/v9.0.2...v9.0.3) (2017-10-26)
136
137
138### Bug Fixes
139
140* **MarkerClusterer:** correct native doc link ([f36efa6](https://github.com/tomchentw/react-google-maps/commit/f36efa6))
141
142
143
144<a name="9.0.2"></a>
145## [9.0.2](https://github.com/tomchentw/react-google-maps/compare/v9.0.1...v9.0.2) (2017-10-23)
146
147
148
149<a name="9.0.1"></a>
150## [9.0.1](https://github.com/tomchentw/react-google-maps/compare/v9.0.0...v9.0.1) (2017-10-17)
151
152
153### Bug Fixes
154
155* **GroundOveray:** use `defaultUrl` and `defaultBounds` instead ([349b620](https://github.com/tomchentw/react-google-maps/commit/349b620))
156
157
158
159<a name="9.0.0"></a>
160# [9.0.0](https://github.com/tomchentw/react-google-maps/compare/v8.5.0...v9.0.0) (2017-10-16)
161
162
163### Bug Fixes
164
165* **Marker:** remove buggy `MarkerWithLabel` support ([b3985f4](https://github.com/tomchentw/react-google-maps/commit/b3985f4))
166
167
168### Features
169
170* **addons/MarkerWithLabel:** separate from `Marker` ([3f7670f](https://github.com/tomchentw/react-google-maps/commit/3f7670f)), closes [#595](https://github.com/tomchentw/react-google-maps/issues/595) [#604](https://github.com/tomchentw/react-google-maps/issues/604)
171* **package.json:** add `markerwithlabel` to dependencies ([b4fe224](https://github.com/tomchentw/react-google-maps/commit/b4fe224))
172
173
174### BREAKING CHANGES
175
176* **Marker:** MarkerWithLabel comes with its own React Component now
177
178Before:
179
180```js
181import { Marker } from "react-google-maps";
182
183<Marker
184 position={{ lat: -34.397, lng: 150.644 }}
185 labelAnchor={new google.maps.Point(0, 0)}
186 labelContent="<div>Hello There!</div>"
187 labelStyle={{/* WON'T WORK */}}
188/>
189```
190
191After:
192
193```js
194import MarkerWithLabel from "react-google-maps/lib/components/addons/MarkerWithLabel";
195
196<MarkerWithLabel
197 position={{ lat: -34.397, lng: 150.644 }}
198 labelAnchor={new google.maps.Point(0, 0)}
199 labelStyle={{backgroundColor: "yellow", fontSize: "32px", padding: "16px"}}
200>
201 <div>Hello There!</div>
202</MarkerWithLabel>
203```
204
205
206
207<a name="8.5.0"></a>
208# [8.5.0](https://github.com/tomchentw/react-google-maps/compare/v8.4.2...v8.5.0) (2017-10-12)
209
210
211### Features
212
213* **GoogleMap:** Add defaultExtraMapTypes ([6ee4734](https://github.com/tomchentw/react-google-maps/commit/6ee4734))
214
215
216
217<a name="8.4.2"></a>
218## [8.4.2](https://github.com/tomchentw/react-google-maps/compare/v8.4.1...v8.4.2) (2017-10-11)
219
220
221### Bug Fixes
222
223* **withGoogleMap:** make compatible with `recompose@^0.26` ([450e1a8](https://github.com/tomchentw/react-google-maps/commit/450e1a8)), closes [#659](https://github.com/tomchentw/react-google-maps/issues/659)
224* **withScriptjs:** make compatible with `recompose@^0.26` ([20f91af](https://github.com/tomchentw/react-google-maps/commit/20f91af)), closes [#659](https://github.com/tomchentw/react-google-maps/issues/659)
225
226
227
228<a name="8.4.1"></a>
229## [8.4.1](https://github.com/tomchentw/react-google-maps/compare/v8.4.0...v8.4.1) (2017-10-11)
230
231
232### Bug Fixes
233
234* **OverlayView:** typo of `FLOAT_PANE` ([0eac8c8](https://github.com/tomchentw/react-google-maps/commit/0eac8c8)), closes [#658](https://github.com/tomchentw/react-google-maps/issues/658)
235
236
237
238<a name="8.4.0"></a>
239# [8.4.0](https://github.com/tomchentw/react-google-maps/compare/v8.3.5...v8.4.0) (2017-10-10)
240
241
242### Features
243
244* **BicyclingLayer:** Add new component for _Google Maps BicyclingLayer_ ([26ce879](https://github.com/tomchentw/react-google-maps/commit/26ce879))
245
246
247
248<a name="8.3.5"></a>
249## [8.3.5](https://github.com/tomchentw/react-google-maps/compare/v8.3.4...v8.3.5) (2017-10-06)
250
251
252
253<a name="8.3.4"></a>
254## [8.3.4](https://github.com/tomchentw/react-google-maps/compare/v8.3.3...v8.3.4) (2017-10-03)
255
256
257
258<a name="8.3.3"></a>
259## [8.3.3](https://github.com/tomchentw/react-google-maps/compare/v8.3.2...v8.3.3) (2017-10-02)
260
261
262
263<a name="8.3.2"></a>
264## [8.3.2](https://github.com/tomchentw/react-google-maps/compare/v8.3.1...v8.3.2) (2017-09-30)
265
266
267### Bug Fixes
268
269* **package.json:** include src/ in files ([afdfa6d](https://github.com/tomchentw/react-google-maps/commit/afdfa6d))
270
271
272
273<a name="8.3.1"></a>
274## [8.3.1](https://github.com/tomchentw/react-google-maps/compare/v8.3.0...v8.3.1) (2017-09-29)
275
276
277
278<a name="8.3.0"></a>
279# [8.3.0](https://github.com/tomchentw/react-google-maps/compare/v8.2.0...v8.3.0) (2017-09-21)
280
281
282### Features
283
284* **GroundOverlay:** add GroundOverlay component ([d76a455](https://github.com/tomchentw/react-google-maps/commit/d76a455))
285
286
287
288<a name="8.2.0"></a>
289# [8.2.0](https://github.com/tomchentw/react-google-maps/compare/v8.1.0...v8.2.0) (2017-09-16)
290
291
292### Bug Fixes
293
294* **addons/InfoBox:** use setState in lifecycle ([fb6658e](https://github.com/tomchentw/react-google-maps/commit/fb6658e))
295* **places/SearchBox:** use setState in lifecycle ([671089b](https://github.com/tomchentw/react-google-maps/commit/671089b))
296
297
298### Features
299
300* **places/StandaloneSearchBox:** add component ([51a1da5](https://github.com/tomchentw/react-google-maps/commit/51a1da5)), closes [#618](https://github.com/tomchentw/react-google-maps/issues/618) [#601](https://github.com/tomchentw/react-google-maps/issues/601) [#593](https://github.com/tomchentw/react-google-maps/issues/593)
301
302
303
304<a name="8.1.0"></a>
305# [8.1.0](https://github.com/tomchentw/react-google-maps/compare/v8.0.0...v8.1.0) (2017-09-15)
306
307
308### Bug Fixes
309
310* **addons/InfoBox:** add default export ([f40b496](https://github.com/tomchentw/react-google-maps/commit/f40b496)), closes [#610](https://github.com/tomchentw/react-google-maps/issues/610) [#611](https://github.com/tomchentw/react-google-maps/issues/611)
311* **addons/MarkerClusterer:** add default export ([87bc259](https://github.com/tomchentw/react-google-maps/commit/87bc259)), closes [#610](https://github.com/tomchentw/react-google-maps/issues/610) [#611](https://github.com/tomchentw/react-google-maps/issues/611)
312
313
314### Features
315
316* **withGoogleMap:** add named export ([8e7e5de](https://github.com/tomchentw/react-google-maps/commit/8e7e5de))
317* **withScriptjs:** add named export ([134f90c](https://github.com/tomchentw/react-google-maps/commit/134f90c))
318
319
320
321<a name="8.0.0"></a>
322# [8.0.0](https://github.com/tomchentw/react-google-maps/compare/v7.3.0...v8.0.0) (2017-09-14)
323
324
325### Bug Fixes
326
327* **package.json:** relax peerDependencies ([#596](https://github.com/tomchentw/react-google-maps/issues/596)) ([6f1c88d](https://github.com/tomchentw/react-google-maps/commit/6f1c88d))
328
329
330### Features
331
332* **addons/InfoBox:** revamp to PureComponent ([95269d2](https://github.com/tomchentw/react-google-maps/commit/95269d2))
333* **addons/MarkerClusterer:** revamp to PureComponent ([13cbef2](https://github.com/tomchentw/react-google-maps/commit/13cbef2))
334* **Circle:** revamp with jscodeshift ([c2c98ab](https://github.com/tomchentw/react-google-maps/commit/c2c98ab))
335* **DirectionsRenderer:** revamp with jscodeshift ([7c5532a](https://github.com/tomchentw/react-google-maps/commit/7c5532a))
336* **drawing/DrawingManager:** revamp with jscodeshift ([01bfb80](https://github.com/tomchentw/react-google-maps/commit/01bfb80))
337* **FusionTablesLayer:** revamp with jscodeshift ([a5865a0](https://github.com/tomchentw/react-google-maps/commit/a5865a0))
338* **GoogleMap:** revamp with jscodeshift ([772f363](https://github.com/tomchentw/react-google-maps/commit/772f363))
339* **index.js:** export `withScriptjs` ([4a1c34e](https://github.com/tomchentw/react-google-maps/commit/4a1c34e))
340* **KmlLayer:** revamp with jscodeshift ([18b8a9f](https://github.com/tomchentw/react-google-maps/commit/18b8a9f))
341* **Marker:** revamp with jscodeshift ([08c5687](https://github.com/tomchentw/react-google-maps/commit/08c5687))
342* **OverlayView:** revamp with jscodeshift ([8c66c14](https://github.com/tomchentw/react-google-maps/commit/8c66c14))
343* **package.json:** add `recompose` to dependencies ([f433a50](https://github.com/tomchentw/react-google-maps/commit/f433a50))
344* **package.json:** remove `create-react-class` from dependencies ([ea41411](https://github.com/tomchentw/react-google-maps/commit/ea41411))
345* **places/SearchBox:** revamp with jscodeshift ([bc41752](https://github.com/tomchentw/react-google-maps/commit/bc41752))
346* **Polygon:** revamp with jscodeshift ([a015b95](https://github.com/tomchentw/react-google-maps/commit/a015b95))
347* **Polyline:** revamp with jscodeshift ([2ff6313](https://github.com/tomchentw/react-google-maps/commit/2ff6313))
348* **Rectangle:** revamp with jscodeshift ([5096882](https://github.com/tomchentw/react-google-maps/commit/5096882))
349* **StreetViewPanorama:** revamp with jscodeshift ([a0e6dd4](https://github.com/tomchentw/react-google-maps/commit/a0e6dd4))
350* **TrafficLayer:** revamp with jscodeshift ([92159bd](https://github.com/tomchentw/react-google-maps/commit/92159bd))
351* **tx:** add `MapChild` transform with `jscodeshift` ([b63d9ee](https://github.com/tomchentw/react-google-maps/commit/b63d9ee))
352* **visualization/HeatmapLayer:** revamp with jscodeshift ([b92a570](https://github.com/tomchentw/react-google-maps/commit/b92a570))
353* **withGoogleMap:** revamp with prettier ([c3de3b3](https://github.com/tomchentw/react-google-maps/commit/c3de3b3))
354* **withScriptjs:** revamp with prettier ([8f3b484](https://github.com/tomchentw/react-google-maps/commit/8f3b484))
355
356
357### BREAKING CHANGES
358
359* **places/SearchBox:** input element can now render directly as the only child
360
361Before:
362
363```js
364<SearchBox
365 inputPlaceholder="Customized your placeholder"
366 inputStyle={{ padding: `0 12px`, fontSize: `14px`, outline: `none` }}
367/>
368```
369
370After:
371
372```js
373<SearchBox>
374 <input
375 type="text"
376 placeholder="Customized your placeholder"
377 style={{
378 padding: `0 12px`,
379 fontSize: `14px`,
380 outline: `none`,
381 }}
382 />
383</SearchBox>
384```
385
386
387
388<a name="7.3.0"></a>
389# [7.3.0](https://github.com/tomchentw/react-google-maps/compare/v7.2.0...v7.3.0) (2017-09-06)
390
391
392### Bug Fixes
393
394* **enhanceElement:** handle undefined callbacks gracefully ([e463df3](https://github.com/tomchentw/react-google-maps/commit/e463df3))
395* **fusiontable:** add query param ([b0c637f](https://github.com/tomchentw/react-google-maps/commit/b0c637f))
396* **withScriptsJs:** Fix comment clarity ([74b0ba3](https://github.com/tomchentw/react-google-maps/commit/74b0ba3))
397
398
399### Features
400
401* **marker:** add custom label support ([8e06dd5](https://github.com/tomchentw/react-google-maps/commit/8e06dd5))
402
403
404
405<a name="7.2.0"></a>
406# [7.2.0](https://github.com/tomchentw/react-google-maps/compare/v7.1.0...v7.2.0) (2017-07-18)
407
408
409### Features
410
411* **MarkerClusterer:** add batchSize option ([#544](https://github.com/tomchentw/react-google-maps/issues/544)) ([ff6b14b](https://github.com/tomchentw/react-google-maps/commit/ff6b14b))
412
413
414
415<a name="7.1.0"></a>
416# [7.1.0](https://github.com/tomchentw/react-google-maps/compare/v7.0.0...v7.1.0) (2017-07-06)
417
418
419### Features
420
421* **StreetViewPanorama:** add OverlayView to example ([7bd8c76](https://github.com/tomchentw/react-google-maps/commit/7bd8c76))
422* **StreetViewPanorama:** add StreetViewPanorama component ([e75c936](https://github.com/tomchentw/react-google-maps/commit/e75c936))
423* **StreetViewPanorama:** fix deprecation warnings ([d80cfe5](https://github.com/tomchentw/react-google-maps/commit/d80cfe5))
424* **StreetViewPanorama:** fix OverlayViewHelper ([ab513a5](https://github.com/tomchentw/react-google-maps/commit/ab513a5))
425* **StreetViewPanorama:** Fix standalone rendering and rename prop ([39373d9](https://github.com/tomchentw/react-google-maps/commit/39373d9))
426* **StreetViewPanorama:** remove log, cosmetics ([4127f7e](https://github.com/tomchentw/react-google-maps/commit/4127f7e))
427* **StreetViewPanorama:** update context for children ([eb86d7e](https://github.com/tomchentw/react-google-maps/commit/eb86d7e))
428
429
430
431<a name="7.0.0"></a>
432# [7.0.0](https://github.com/tomchentw/react-google-maps/compare/v6.3.0...v7.0.0) (2017-04-21)
433
434
435### Code Refactoring
436
437* **index.js:** remove HeatmapLayer export ([a05e5cb](https://github.com/tomchentw/react-google-maps/commit/a05e5cb))
438
439
440### Features
441
442* **package.json:** add "create-react-class" and "prop-types" to dependencies ([cb2cbff](https://github.com/tomchentw/react-google-maps/commit/cb2cbff))
443* migrate to "create-react-class" package ([d54cc95](https://github.com/tomchentw/react-google-maps/commit/d54cc95)), closes [#463](https://github.com/tomchentw/react-google-maps/issues/463)
444* migrate to "prop-types" package ([129b6e2](https://github.com/tomchentw/react-google-maps/commit/129b6e2)), closes [#463](https://github.com/tomchentw/react-google-maps/issues/463)
445* migrate to implicit default import for React ([f094f1b](https://github.com/tomchentw/react-google-maps/commit/f094f1b))
446* **package.json:** upgrade to ^15.5.4 of react / react-dom in peerDependencies ([d62059e](https://github.com/tomchentw/react-google-maps/commit/d62059e))
447
448
449### BREAKING CHANGES
450
451* **index.js:** remove top-level HeatmapLayer export
452
453Before:
454
455```js
456import { HeatmapLayer } from "react-google-maps"
457```
458
459After:
460
461```js
462import HeatmapLayer from "react-google-maps/lib/visualization/HeatmapLayer"
463```
464* **package.json:** upgrade to ^15.5.4 of react / react-dom in peerDependencies
465
466For react < 15.5.0, use react-google-maps < 7.0.0 instead.
467
468
469
470<a name="6.3.0"></a>
471# [6.3.0](https://github.com/tomchentw/react-google-maps/compare/v6.2.0...v6.3.0) (2017-04-20)
472
473
474### Bug Fixes
475
476* **InfoWindow:** long content jank issue ([54ffccc](https://github.com/tomchentw/react-google-maps/commit/54ffccc)), closes [#449](https://github.com/tomchentw/react-google-maps/issues/449) [#444](https://github.com/tomchentw/react-google-maps/issues/444) [#408](https://github.com/tomchentw/react-google-maps/issues/408)
477
478
479### Features
480
481* **Marker:** prevent Marker from redrawing under clusters ([7849f28](https://github.com/tomchentw/react-google-maps/commit/7849f28)), closes [#397](https://github.com/tomchentw/react-google-maps/issues/397)
482
483
484
485<a name="6.2.0"></a>
486# [6.2.0](https://github.com/tomchentw/react-google-maps/compare/v6.1.0...v6.2.0) (2017-04-20)
487
488
489### Features
490
491* **FusionTablesLayer:** add component ([1d8e478](https://github.com/tomchentw/react-google-maps/commit/1d8e478)), closes [#370](https://github.com/tomchentw/react-google-maps/issues/370)
492* **KmlLayer:** add options to props ([2968efc](https://github.com/tomchentw/react-google-maps/commit/2968efc)), closes [#428](https://github.com/tomchentw/react-google-maps/issues/428) [#406](https://github.com/tomchentw/react-google-maps/issues/406)
493* **TrafficLayer:** add component ([d419fc9](https://github.com/tomchentw/react-google-maps/commit/d419fc9)), closes [#417](https://github.com/tomchentw/react-google-maps/issues/417)
494
495
496
497<a name="6.1.0"></a>
498# [6.1.0](https://github.com/tomchentw/react-google-maps/compare/v6.0.3...v6.1.0) (2017-04-20)
499
500
501### Features
502
503* **visualization/HeatmapLayer:** move to visualization namespace ([20ea7c3](https://github.com/tomchentw/react-google-maps/commit/20ea7c3))
504
505
506
507<a name="6.0.3"></a>
508## [6.0.3](https://github.com/tomchentw/react-google-maps/compare/v6.0.2...v6.0.3) (2017-04-20)
509
510
511### Bug Fixes
512
513* **HeatmapLayer:** HeatmapLayer constructor fix ([#376](https://github.com/tomchentw/react-google-maps/issues/376)) ([24b140d](https://github.com/tomchentw/react-google-maps/commit/24b140d))
514
515
516
517<a name="6.0.2"></a>
518## [6.0.2](https://github.com/tomchentw/react-google-maps/compare/v6.0.1...v6.0.2) (2017-04-20)
519
520
521### Bug Fixes
522
523* **addons/InfoBox:** Unmounting an InfoBox should remove all listeners. ([#412](https://github.com/tomchentw/react-google-maps/issues/412)) ([ad4f0ee](https://github.com/tomchentw/react-google-maps/commit/ad4f0ee))
524
525
526
527<a name="6.0.1"></a>
528## [6.0.1](https://github.com/tomchentw/react-google-maps/compare/v6.0.0...v6.0.1) (2016-10-14)
529
530
531### Bug Fixes
532
533* **addons/InfoBox:** allow children to receive React's context ([bed461c](https://github.com/tomchentw/react-google-maps/commit/bed461c)), closes [#258](https://github.com/tomchentw/react-google-maps/issues/258)
534* **addons/InfoBox:** allow children to receive React's context ([5748a96](https://github.com/tomchentw/react-google-maps/commit/5748a96))
535* **InfoWindow:** allow children to receive React's context ([ca73c85](https://github.com/tomchentw/react-google-maps/commit/ca73c85))
536* **package.json:** devDependencies of eslint-config-react-app ([e8e3eed](https://github.com/tomchentw/react-google-maps/commit/e8e3eed))
537
538
539
540<a name="6.0.0"></a>
541# [6.0.0](https://github.com/tomchentw/react-google-maps/compare/v5.1.1...v6.0.0) (2016-10-04)
542
543
544### Code Refactoring
545
546* **addons/InfoBox:** rewrite with enhanceElement and cleaner interfaces ([06f2e9b](https://github.com/tomchentw/react-google-maps/commit/06f2e9b))
547* **addons/MarkerClusterer:** rewrite with enhanceElement and cleaner interfaces ([f1032f4](https://github.com/tomchentw/react-google-maps/commit/f1032f4))
548* **Circle:** rewrite with enhanceElement and cleaner interfaces ([da0ebc2](https://github.com/tomchentw/react-google-maps/commit/da0ebc2))
549* **drawing/DrawingManager:** rewrite with enhanceElement and cleaner interfaces ([1b6a937](https://github.com/tomchentw/react-google-maps/commit/1b6a937))
550* **DrawingManager:** move to drawing/DrawingManager ([3226508](https://github.com/tomchentw/react-google-maps/commit/3226508))
551* **GoogleMap:** rewrite with enhanceElement and cleaner interfaces ([4b22e42](https://github.com/tomchentw/react-google-maps/commit/4b22e42))
552* **InfoWindow:** rewrite with enhanceElement and cleaner interfaces ([fc1c25c](https://github.com/tomchentw/react-google-maps/commit/fc1c25c))
553* **KmlLayer:** rewrite with enhanceElement and cleaner interfaces ([2479b88](https://github.com/tomchentw/react-google-maps/commit/2479b88))
554* **Marker:** rewrite with enhanceElement and cleaner interfaces ([c06aff2](https://github.com/tomchentw/react-google-maps/commit/c06aff2))
555* **OverlayView:** rewrite with enhanceElement and cleaner interfaces ([7d28f2f](https://github.com/tomchentw/react-google-maps/commit/7d28f2f))
556* **places/SearchBox:** rewrite with enhanceElement and cleaner interfaces ([bc97f61](https://github.com/tomchentw/react-google-maps/commit/bc97f61))
557* **Polygon:** rewrite with enhanceElement and cleaner interfaces ([1e20d70](https://github.com/tomchentw/react-google-maps/commit/1e20d70))
558* **Polyline:** rewrite with enhanceElement and cleaner interfaces ([5603319](https://github.com/tomchentw/react-google-maps/commit/5603319))
559* **Rectangle:** rewrite with enhanceElement and cleaner interfaces ([ea39062](https://github.com/tomchentw/react-google-maps/commit/ea39062))
560* **SearchBox:** move to places/SearchBox ([cf5a1cb](https://github.com/tomchentw/react-google-maps/commit/cf5a1cb))
561
562
563### Features
564
565* **async/withScriptjs:** provide HOC for loading `googleMapURL` with `scriptjs` ([14d9273](https://github.com/tomchentw/react-google-maps/commit/14d9273))
566* **enhanceElement:** utility for generating Google Maps Components ([2656569](https://github.com/tomchentw/react-google-maps/commit/2656569))
567* **package.json:** add "react-display-name" to dependencies ([2df62c7](https://github.com/tomchentw/react-google-maps/commit/2df62c7))
568* **withGoogleMap:** provide HOC for initialize `google.maps.Map` instance ([f61724c](https://github.com/tomchentw/react-google-maps/commit/f61724c))
569
570
571### BREAKING CHANGES
572
573* addons/InfoBox: Naming convention for event handlers has tweaked to follow React's convention.
574
575Before:
576
577```js
578<InfoBox
579 onCloseclick={_.noop}
580 onDomready={_.noop}
581 onZindexChanged={_.noop}
582/>
583```
584
585After:
586
587```js
588<InfoBox
589 onCloseClick={_.noop}
590 onDomReady={_.noop}
591 onZIndexChanged={_.noop}
592/>
593```
594* withGoogleMap: Wrap all `react-google-maps` components inside `withGoogleMap` HOC.
595
596Before:
597
598```js
599// v5.0.0
600<GoogleMapLoader
601 containerElement={
602 <div
603 {...this.props}
604 style={{
605 height: "100%",
606 }}
607 />
608 }
609 googleMapElement={
610 <GoogleMap
611 ref={(map) => console.log(map)}
612 defaultZoom={3}
613 defaultCenter={{lat: -25.363882, lng: 131.044922}}
614 onClick={::this.handleMapClick}>
615 {this.state.markers.map((marker, index) => {
616 return (
617 <Marker
618 {...marker}
619 onRightclick={this.handleMarkerRightclick.bind(this, index)} />
620 );
621 })}
622 </GoogleMap>
623 }
624/>
625// or v4.0.0
626<GoogleMap containerProps={{
627 ...this.props,
628 style: {
629 height: "100%",
630 },
631 }}
632 ref="map"
633 defaultZoom={3}
634 defaultCenter={{lat: -25.363882, lng: 131.044922}}
635 onClick={::this.handleMapClick}>
636 {this.state.markers.map((marker, index) => {
637 return (
638 <Marker
639 {...marker}
640 onRightclick={this.handleMarkerRightclick.bind(this, index)} />
641 );
642 })}
643</GoogleMap>
644```
645
646After:
647
648```js
649// Wrap all `react-google-maps` components with `withGoogleMap` HOC
650// and name it GettingStartedGoogleMap
651const GettingStartedGoogleMap = withGoogleMap(props => (
652 <GoogleMap
653 ref={props.onMapLoad}
654 defaultZoom={3}
655 defaultCenter={{ lat: -25.363882, lng: 131.044922 }}
656 onClick={props.onMapClick}
657 >
658 {props.markers.map((marker, index) => (
659 <Marker
660 {...marker}
661 onRightClick={() => props.onMarkerRightClick(index)}
662 />
663 ))}
664 </GoogleMap>
665));
666// Then, render it:
667render(
668 <GettingStartedGoogleMap
669 containerElement={
670 <div style={{ height: `100%` }} />
671 }
672 mapElement={
673 <div style={{ height: `100%` }} />
674 }
675 onMapLoad={_.noop}
676 onMapClick={_.noop}
677 markers={markers}
678 onMarkerRightClick={_.noop}
679 />,
680 document.getElementById('root')
681);
682```
683* places/SearchBox: Input props are now under `inputProps`.
684
685This will get passed in directly into the underlying `<input>` component. You can also override it with `inputStyle`, `inputClassName` and `inputPlaceholder`.
686
687Before:
688
689```js
690<SearchBox
691 placeholder="Customized your placeholder"
692 style={INPUT_STYLE}
693/>
694```
695
696After:
697
698```js
699<SearchBox
700 inputPlaceholder="Customized your placeholder"
701 inputStyle={INPUT_STYLE}
702/>
703```
704* SearchBox: move SearchBox to places/SearchBox
705* drawing/DrawingManager: Naming convention for event handlers has tweaked to follow React's convention.
706
707Before:
708
709```js
710<DrawingManager
711 onCirclecomplete={_.noop}
712 onOverlaycomplete={_.noop}
713/>
714```
715
716After:
717
718```js
719<DrawingManager
720 onCircleComplete={_.noop}
721 onOverlayComplete={_.noop}
722/>
723```
724* DrawingManager: move DrawingManager to drawing/DrawingManager
725* OverlayView: `OverlayView` can no longer be rendered under `MarkerClusterer`
726* InfoWindow: Naming convention for event handlers has tweaked to follow React's convention.
727
728Before:
729
730```js
731<InfoWindow
732 onCloseclick={_.noop}
733 onDomready={_.noop}
734 onZindexChanged={_.noop}
735/>
736```
737
738After:
739
740```js
741<InfoWindow
742 onCloseClick={_.noop}
743 onDomReady={_.noop}
744 onZIndexChanged={_.noop}
745/>
746```
747* addons/MarkerClusterer: Naming convention for event handlers has tweaked to follow React's convention.
748
749Before:
750
751```js
752<MarkerClusterer
753 onClusteringbegin={_.noop}
754 onMouseout={_.noop}
755/>
756```
757
758After:
759
760```js
761<MarkerClusterer
762 onClusteringBegin={_.noop}
763 onMouseOut={_.noop}
764/>
765```
766* Circle: Naming convention for event handlers has tweaked to follow React's convention.
767
768Before:
769
770```js
771<Circle
772 onClick={_.noop}
773 onRightclick={_.noop}
774 onDragstart={_.noop}
775/>
776```
777
778After:
779
780```js
781<Circle
782 onClick={_.noop}
783 onRightClick={_.noop}
784 onDragStart={_.noop}
785/>
786```
787* Polygon: Naming convention for event handlers has tweaked to follow React's convention.
788
789Before:
790
791```js
792<Polygon
793 onClick={_.noop}
794 onRightclick={_.noop}
795 onDragstart={_.noop}
796/>
797```
798
799After:
800
801```js
802<Polygon
803 onClick={_.noop}
804 onRightClick={_.noop}
805 onDragStart={_.noop}
806/>
807```
808* Polyline: Naming convention for event handlers has tweaked to follow React's convention.
809
810Before:
811
812```js
813<Polyline
814 onClick={_.noop}
815 onRightclick={_.noop}
816 onDragstart={_.noop}
817/>
818```
819
820After:
821
822```js
823<Polyline
824 onClick={_.noop}
825 onRightClick={_.noop}
826 onDragStart={_.noop}
827/>
828```
829* Rectangle: Naming convention for event handlers has tweaked to follow React's convention.
830
831Before:
832
833```js
834<Rectangle
835 onClick={_.noop}
836 onRightclick={_.noop}
837 onDragstart={_.noop}
838/>
839```
840
841After:
842
843```js
844<Rectangle
845 onClick={_.noop}
846 onRightClick={_.noop}
847 onDragStart={_.noop}
848/>
849```
850* Marker: Naming convention for event handlers has tweaked to follow React's convention.
851
852Before:
853
854```js
855<Marker
856 onClick={_.noop}
857 onRightclick={_.noop}
858 onDragstart={_.noop}
859/>
860```
861
862After:
863
864```js
865<Marker
866 onClick={_.noop}
867 onRightClick={_.noop}
868 onDragStart={_.noop}
869/>
870```
871* GoogleMap: Naming convention for event handlers has tweaked to follow React's convention.
872
873Before:
874
875```js
876<GoogleMap
877 onClick={_.noop}
878 onRightclick={_.noop}
879 onDragstart={_.noop}
880/>
881```
882
883After:
884
885```js
886<GoogleMap
887 onClick={_.noop}
888 onRightClick={_.noop}
889 onDragStart={_.noop}
890/>
891```
892* async/withScriptjs: Apply `withScriptjs` HOC before `withGoogleMaps` HOC.
893
894Before:
895
896```js
897<ScriptjsLoader
898 hostname={"maps.googleapis.com"}
899 pathname={"/maps/api/js"}
900 query={{v: `3.${ AsyncGettingStarted.version }`, libraries: "geometry,drawing,places"}}
901 loadingElement={
902 <div {...this.props} style={{ height: "100%" }}>
903 <FaSpinner />
904 </div>
905 }
906 containerElement={
907 <div {...this.props} style={{ height: "100%" }} />
908 }
909 googleMapElement={
910 <GoogleMap
911 ref={googleMap => {
912 googleMap && console.log(`Zoom: ${ googleMap.getZoom() }`);
913 }}
914 defaultZoom={3}
915 defaultCenter={{lat: -25.363882, lng: 131.044922}}
916 onClick={::this.handleMapClick}
917 >
918 <Marker
919 {...this.state.marker}
920 onRightclick={this.handleMarkerRightclick}
921 />
922 </GoogleMap>
923 }
924/>
925```
926
927After:
928
929```js
930// Wrap all `react-google-maps` components with `withGoogleMap` HOC
931// then wraps it into `withScriptjs` HOC
932// It loads Google Maps JavaScript API v3 for you asynchronously.
933// Name the component AsyncGettingStartedExampleGoogleMap
934const AsyncGettingStartedExampleGoogleMap = withScriptjs(
935 withGoogleMap(
936 props => (
937 <GoogleMap
938 ref={props.onMapLoad}
939 defaultZoom={3}
940 defaultCenter={{ lat: -25.363882, lng: 131.044922 }}
941 onClick={props.onMapClick}
942 >
943 {props.markers.map(marker => (
944 <Marker
945 {...marker}
946 onRightClick={() => props.onMarkerRightClick(marker)}
947 />
948 ))}
949 </GoogleMap>
950 )
951);
952// Then, render it:
953render(
954 <GettingStartedGoogleMap
955 googleMapURL="https://maps.googleapis.com/maps/api/js?v=3.exp"
956 loadingElement={
957 <div style={{ height: `100%` }}>
958 <FaSpinner
959 style={{
960 display: `block`,
961 width: `80px`,
962 height: `80px`,
963 margin: `150px auto`,
964 animation: `fa-spin 2s infinite linear`,
965 }}
966 />
967 </div>
968 }
969 containerElement={
970 <div style={{ height: `100%` }} />
971 }
972 mapElement={
973 <div style={{ height: `100%` }} />
974 }
975 onMapLoad={_.noop}
976 onMapClick={_.noop}
977 markers={markers}
978 onMarkerRightClick={_.noop}
979 />,
980 document.getElementById('root')
981);
982```
983* KmlLayer: Naming convention for event handlers has tweaked to follow React's convention.
984
985Before:
986
987```js
988<KmlLayer
989 onClick={_.noop}
990 onDefaultviewportChanged={_.noop}
991 onStatusChanged={_.noop}
992/>
993```
994
995After:
996
997```js
998<KmlLayer
999 onClick={_.noop}
1000 onDefaultViewportChanged={_.noop}
1001 onStatusChanged={_.noop}
1002/>
1003```
1004
1005
1006
1007<a name="5.1.1"></a>
1008## [5.1.1](https://github.com/tomchentw/react-google-maps/compare/v5.1.0...v5.1.1) (2016-10-04)
1009
1010
1011### Bug Fixes
1012
1013* **OverlayView:** fixed bug in OverlayView when nested in MarkerClusterer ([#302](https://github.com/tomchentw/react-google-maps/issues/302)) ([1c5e933](https://github.com/tomchentw/react-google-maps/commit/1c5e933)), closes [#301](https://github.com/tomchentw/react-google-maps/issues/301)
1014* **ScriptjsLoader:** Fix setState warning ([#307](https://github.com/tomchentw/react-google-maps/issues/307)) ([999fd89](https://github.com/tomchentw/react-google-maps/commit/999fd89))
1015
1016
1017
1018<a name="5.1.0"></a>
1019# [5.1.0](https://github.com/tomchentw/react-google-maps/compare/v5.0.0...v5.1.0) (2016-09-30)
1020
1021
1022### Features
1023
1024* **HeatmapLayer:** add HeatmapLayer component ([#248](https://github.com/tomchentw/react-google-maps/issues/248)) ([2863cdd](https://github.com/tomchentw/react-google-maps/commit/2863cdd))
1025
1026
1027
1028<a name="5.0.0"></a>
1029# [5.0.0](https://github.com/tomchentw/react-google-maps/compare/v4.11.0...v5.0.0) (2016-08-04)
1030
1031
1032### Bug Fixes
1033
1034* **src:** eslint errors ([f2b242a](https://github.com/tomchentw/react-google-maps/commit/f2b242a))
1035
1036
1037### Features
1038
1039* **.babelrc:** add transform-runtime and lodash to plugins ([5db33f9](https://github.com/tomchentw/react-google-maps/commit/5db33f9))
1040* **GoogleMap:** remove deprecated props and behaviour ([cf5b8f1](https://github.com/tomchentw/react-google-maps/commit/cf5b8f1))
1041* **GoogleMapLoader:** switch to new behaviour ([7e40269](https://github.com/tomchentw/react-google-maps/commit/7e40269))
1042* **package.json:** add babel-runtime and lodash to dependencies ([5e37d3c](https://github.com/tomchentw/react-google-maps/commit/5e37d3c))
1043* **package.json:** upgrade devDependencies ([47a400c](https://github.com/tomchentw/react-google-maps/commit/47a400c))
1044* **src:** switch to use lodash directly ([304f465](https://github.com/tomchentw/react-google-maps/commit/304f465))
1045
1046
1047### Performance Improvements
1048
1049* **src:** switch mapHolderRef from props to context ([c2d265c](https://github.com/tomchentw/react-google-maps/commit/c2d265c)), closes [#135](https://github.com/tomchentw/react-google-maps/issues/135) [#210](https://github.com/tomchentw/react-google-maps/issues/210) [#216](https://github.com/tomchentw/react-google-maps/issues/216)
1050
1051
1052### BREAKING CHANGES
1053
1054* GoogleMap: You need to use GoogleMapLoader with props.googleMapElement={<GoogleMap />} now.
1055
1056Before:
1057
1058```js
1059<GoogleMap containerProps={{
1060 ...this.props,
1061 style: {
1062 height: "100%",
1063 },
1064 }}
1065 ref="map"
1066 defaultZoom={3}
1067 defaultCenter={{lat: -25.363882, lng: 131.044922}}
1068 onClick={::this.handleMapClick}>
1069 {this.state.markers.map((marker, index) => {
1070 return (
1071 <Marker
1072 {...marker}
1073 onRightclick={this.handleMarkerRightclick.bind(this, index)} />
1074 );
1075 })}
1076</GoogleMap>
1077```
1078
1079After:
1080
1081```js
1082<GoogleMapLoader
1083 containerElement={
1084 <div
1085 {...this.props}
1086 style={{
1087 height: "100%",
1088 }}
1089 />
1090 }
1091 googleMapElement={
1092 <GoogleMap
1093 ref={(map) => console.log(map)}
1094 defaultZoom={3}
1095 defaultCenter={{lat: -25.363882, lng: 131.044922}}
1096 onClick={::this.handleMapClick}>
1097 {this.state.markers.map((marker, index) => {
1098 return (
1099 <Marker
1100 {...marker}
1101 onRightclick={this.handleMarkerRightclick.bind(this, index)} />
1102 );
1103 })}
1104 </GoogleMap>
1105 }
1106/>
1107```
1108* src: If you're just using the library and didn't make custom components before, feel free to ignore this implementation changes.
1109
1110Now, mapHolderRef for each component are now passed in via context. This doesn't affect all components interface in general. But if you do custom components before and relies on the implementation of react-google-maps, you should be aware of this and make some changes.
1111
1112
1113
1114<a name="4.11.0"></a>
1115# [4.11.0](https://github.com/tomchentw/react-google-maps/compare/v4.10.3...v4.11.0) (2016-05-29)
1116
1117
1118### Features
1119
1120* **OverlayView:** allow rendered as children of MarkerCluster ([435961a](https://github.com/tomchentw/react-google-maps/commit/435961a)), closes [#187](https://github.com/tomchentw/react-google-maps/issues/187)
1121
1122
1123
1124<a name="4.10.3"></a>
1125## [4.10.3](https://github.com/tomchentw/react-google-maps/compare/v4.10.2...v4.10.3) (2016-05-29)
1126
1127
1128### Bug Fixes
1129
1130* **GoogleMapLoader:** handle unmount ref case ([334c5c9](https://github.com/tomchentw/react-google-maps/commit/334c5c9))
1131
1132
1133
1134<a name="4.10.2"></a>
1135## [4.10.2](https://github.com/tomchentw/react-google-maps/compare/v4.10.1...v4.10.2) (2016-05-29)
1136
1137
1138### Features
1139
1140* **package.json:** upgrade to "marker-clusterer-plus@^2.1.4" ([c1d322a](https://github.com/tomchentw/react-google-maps/commit/c1d322a))
1141
1142
1143
1144<a name="4.10.1"></a>
1145## [4.10.1](https://github.com/tomchentw/react-google-maps/compare/v4.10.0...v4.10.1) (2016-04-27)
1146
1147
1148### Bug Fixes
1149
1150* **package.json:** update to "react-prop-types-element-of-type@^2.1.0" ([0f27ed3](https://github.com/tomchentw/react-google-maps/commit/0f27ed3))
1151
1152
1153
1154<a name="4.10.0"></a>
1155# [4.10.0](https://github.com/tomchentw/react-google-maps/compare/v4.9.1...v4.10.0) (2016-04-26)
1156
1157
1158### Features
1159
1160* **package.json:** update to react@^15.0.0 ([4a85cf6](https://github.com/tomchentw/react-google-maps/commit/4a85cf6)), closes [#243](https://github.com/tomchentw/react-google-maps/issues/243)
1161
1162
1163
1164<a name="4.9.1"></a>
1165## [4.9.1](https://github.com/tomchentw/react-google-maps/compare/v4.9.0...v4.9.1) (2016-02-21)
1166
1167
1168### Bug Fixes
1169
1170* **componentLifecycleDecorator:** revert to componentWillReceiveProps ([105dc6b](https://github.com/tomchentw/react-google-maps/commit/105dc6b))
1171
1172
1173
1174<a name="4.9.0"></a>
1175# [4.9.0](https://github.com/tomchentw/react-google-maps/compare/v4.8.2...v4.9.0) (2016-02-21)
1176
1177
1178### Bug Fixes
1179
1180* **componentLifecycleDecorator:** change componentDidUpdate to componentWillReceiveProps ([b42b58e](https://github.com/tomchentw/react-google-maps/commit/b42b58e))
1181
1182### Features
1183
1184* **OverlayView:** add props.bounds support ([dcdfefa](https://github.com/tomchentw/react-google-maps/commit/dcdfefa)), closes [#205](https://github.com/tomchentw/react-google-maps/issues/205) [#206](https://github.com/tomchentw/react-google-maps/issues/206)
1185
1186
1187
1188<a name="4.8.2"></a>
1189## [4.8.2](https://github.com/tomchentw/react-google-maps/compare/v4.8.1...v4.8.2) (2016-02-21)
1190
1191
1192### Bug Fixes
1193
1194* **componentLifecycleDecorator:** check _unregisterEvents before calling ([cd2667c](https://github.com/tomchentw/react-google-maps/commit/cd2667c)), closes [#117](https://github.com/tomchentw/react-google-maps/issues/117)
1195
1196
1197
1198<a name="4.8.1"></a>
1199## [4.8.1](https://github.com/tomchentw/react-google-maps/compare/v4.8.0...v4.8.1) (2016-02-20)
1200
1201
1202### Bug Fixes
1203
1204* **MarkerClusterer:** typo method name of getAverageCenter ([4f2ad76](https://github.com/tomchentw/react-google-maps/commit/4f2ad76)), closes [#203](https://github.com/tomchentw/react-google-maps/issues/203) [#204](https://github.com/tomchentw/react-google-maps/issues/204)
1205
1206
1207
1208<a name="4.8.0"></a>
1209# [4.8.0](https://github.com/tomchentw/react-google-maps/compare/v4.7.2...v4.8.0) (2016-02-20)
1210
1211
1212### Features
1213
1214* **KmlLayer:** add new KmlLayer component ([746af8d](https://github.com/tomchentw/react-google-maps/commit/746af8d))
1215
1216
1217
1218<a name="4.7.2"></a>
1219## [4.7.2](https://github.com/tomchentw/react-google-maps/compare/v4.7.1...v4.7.2) (2016-01-07)
1220
1221
1222### Bug Fixes
1223
1224* **OverlayViewCreator:** position container after render ([f5b0a4c](https://github.com/tomchentw/react-google-maps/commit/f5b0a4c)), closes [#167](https://github.com/tomchentw/react-google-maps/issues/167)
1225
1226
1227
1228<a name="4.7.1"></a>
1229## [4.7.1](https://github.com/tomchentw/react-google-maps/compare/v4.7.0...v4.7.1) (2015-12-30)
1230
1231
1232### Bug Fixes
1233
1234* **utils:** should use contentElement ([76abbfc](https://github.com/tomchentw/react-google-maps/commit/76abbfc))
1235
1236
1237
1238<a name="4.7.0"></a>
1239# [4.7.0](https://github.com/tomchentw/react-google-maps/compare/v4.6.2...v4.7.0) (2015-12-07)
1240
1241
1242### Features
1243
1244* **utils:** add triggerEvent api ([112a1e6](https://github.com/tomchentw/react-google-maps/commit/112a1e6)), closes [#161](https://github.com/tomchentw/react-google-maps/issues/161)
1245
1246
1247
1248<a name="4.6.2"></a>
1249## [4.6.2](https://github.com/tomchentw/react-google-maps/compare/v4.6.1...v4.6.2) (2015-12-07)
1250
1251
1252### Features
1253
1254* **SearchBox:** add placeholder props to the underlying input element ([e6a6a02](https://github.com/tomchentw/react-google-maps/commit/e6a6a02)), closes [#115](https://github.com/tomchentw/react-google-maps/issues/115) [#136](https://github.com/tomchentw/react-google-maps/issues/136)
1255
1256
1257
1258<a name="4.6.1"></a>
1259## [4.6.1](https://github.com/tomchentw/react-google-maps/compare/v4.6.0...v4.6.1) (2015-12-03)
1260
1261
1262### Features
1263
1264* **GoogleMap:** add warning for undefined google object ([2e0c60b](https://github.com/tomchentw/react-google-maps/commit/2e0c60b)), closes [#142](https://github.com/tomchentw/react-google-maps/issues/142)
1265
1266
1267
1268<a name="4.6.0"></a>
1269# [4.6.0](https://github.com/tomchentw/react-google-maps/compare/v4.5.1...v4.6.0) (2015-11-22)
1270
1271
1272### Features
1273
1274* **GoogleMapLoader:** introduce loader to manage React elements ([532816a](https://github.com/tomchentw/react-google-maps/commit/532816a)), closes [#141](https://github.com/tomchentw/react-google-maps/issues/141) [#133](https://github.com/tomchentw/react-google-maps/issues/133)
1275* **ScriptjsLoader:** new behavior will render GoogleMapLoader instead ([0f100d8](https://github.com/tomchentw/react-google-maps/commit/0f100d8))
1276
1277
1278### BREAKING CHANGES
1279
1280* ScriptjsLoader: ScriptjsLoader will delegate to GoogleMapLoader when the script is loaded
1281
1282Before:
1283
1284```js
1285<ScriptjsLoader
1286 hostname={"maps.googleapis.com"}
1287 pathname={"/maps/api/js"}
1288 query={{v: `3.${ AsyncGettingStarted.version }`, libraries: "geometry,drawing,places"}}
1289 loadingElement={
1290 <div {...this.props} style={{ height: "100%" }}>
1291 <FaSpinner />
1292 </div>
1293 }
1294 googleMapElement={
1295 <GoogleMap
1296 containerProps={{
1297 ...this.props,
1298 style: {
1299 height: "100%",
1300 },
1301 }}
1302 ref={googleMap => {
1303 // Wait until GoogleMap is fully loaded. Related to #133
1304 setTimeout(() => {
1305 googleMap && console.log(`Zoom: ${ googleMap.getZoom() }`);
1306 }, 50);
1307 }}
1308 defaultZoom={3}
1309 defaultCenter={{lat: -25.363882, lng: 131.044922}}
1310 onClick={::this.handleMapClick}
1311 >
1312 <Marker
1313 {...this.state.marker}
1314 onRightclick={this.handleMarkerRightclick}
1315 />
1316 </GoogleMap>
1317 }
1318/>
1319```
1320
1321After:
1322
1323```js
1324<ScriptjsLoader
1325 hostname={"maps.googleapis.com"}
1326 pathname={"/maps/api/js"}
1327 query={{v: `3.${ AsyncGettingStarted.version }`, libraries: "geometry,drawing,places"}}
1328 loadingElement={
1329 <div {...this.props} style={{ height: "100%" }}>
1330 <FaSpinner />
1331 </div>
1332 }
1333 containerElement={
1334 <div {...this.props} style={{ height: "100%" }} />
1335 }
1336 googleMapElement={
1337 <GoogleMap
1338 ref={googleMap => {
1339 googleMap && console.log(`Zoom: ${ googleMap.getZoom() }`);
1340 }}
1341 defaultZoom={3}
1342 defaultCenter={{lat: -25.363882, lng: 131.044922}}
1343 onClick={::this.handleMapClick}
1344 >
1345 <Marker
1346 {...this.state.marker}
1347 onRightclick={this.handleMarkerRightclick}
1348 />
1349 </GoogleMap>
1350 }
1351/>
1352```
1353* GoogleMapLoader: GoogleMap with props.containerProps is now deprecated. Use GoogleMapLoader with props.googleMapElement instead
1354
1355We also suggest switching to callback based ref so that you'll get the component instance when it is mounted.
1356
1357Before:
1358
1359```js
1360<GoogleMap containerProps={{
1361 ...this.props,
1362 style: {
1363 height: "100%",
1364 },
1365 }}
1366 ref="map"
1367 defaultZoom={3}
1368 defaultCenter={{lat: -25.363882, lng: 131.044922}}
1369 onClick={::this.handleMapClick}>
1370 {this.state.markers.map((marker, index) => {
1371 return (
1372 <Marker
1373 {...marker}
1374 onRightclick={this.handleMarkerRightclick.bind(this, index)} />
1375 );
1376 })}
1377</GoogleMap>
1378```
1379
1380After:
1381
1382```js
1383<GoogleMapLoader
1384 containerElement={
1385 <div
1386 {...this.props}
1387 style={{
1388 height: "100%",
1389 }}
1390 />
1391 }
1392 googleMapElement={
1393 <GoogleMap
1394 ref={(map) => console.log(map)}
1395 defaultZoom={3}
1396 defaultCenter={{lat: -25.363882, lng: 131.044922}}
1397 onClick={::this.handleMapClick}>
1398 {this.state.markers.map((marker, index) => {
1399 return (
1400 <Marker
1401 {...marker}
1402 onRightclick={this.handleMarkerRightclick.bind(this, index)} />
1403 );
1404 })}
1405 </GoogleMap>
1406 }
1407/>
1408```
1409
1410
1411
1412<a name="4.5.1"></a>
1413## [4.5.1](https://github.com/tomchentw/react-google-maps/compare/v4.5.0...v4.5.1) (2015-11-21)
1414
1415
1416### Features
1417
1418* **ScriptjsLoader:** check with propTypesElementOfType(GoogleMap) ([e8bb97b](https://github.com/tomchentw/react-google-maps/commit/e8bb97b))
1419
1420
1421
1422<a name="4.5.0"></a>
1423# [4.5.0](https://github.com/tomchentw/react-google-maps/compare/v4.4.1...v4.5.0) (2015-11-21)
1424
1425
1426### Features
1427
1428* **async/ScriptjsLoader:** replacement of async/ScriptjsGoogleMap ([ccfadd4](https://github.com/tomchentw/react-google-maps/commit/ccfadd4)), closes [#145](https://github.com/tomchentw/react-google-maps/issues/145)
1429
1430
1431### BREAKING CHANGES
1432
1433* async/ScriptjsLoader: migrate from async/ScriptjsGoogleMap to async/ScriptjsLoader and changed its behavior from implicit inheritance to simple delegation
1434
1435To migrate the code follow the example below (extracted from examples/gh-pages migration):
1436
1437Before:
1438
1439```js
1440<ScriptjsLoader
1441 hostname={"maps.googleapis.com"}
1442 pathname={"/maps/api/js"}
1443 query={{v: `3.exp`, libraries: "geometry,drawing,places"}}
1444 //
1445 // <GoogleMap> props
1446 defaultZoom={3}
1447 defaultCenter={{lat: -25.363882, lng: 131.044922}}
1448 onClick={::this._handle_map_click}
1449/>
1450```
1451
1452After:
1453
1454```js
1455<ScriptjsLoader
1456 hostname={"maps.googleapis.com"}
1457 pathname={"/maps/api/js"}
1458 query={{v: `3.exp`, libraries: "geometry,drawing,places"}}
1459 //
1460 googleMapElement={
1461 <GoogleMap
1462 defaultZoom={3}
1463 defaultCenter={{lat: -25.363882, lng: 131.044922}}
1464 onClick={::this._handle_map_click}
1465 />
1466 }
1467/>
1468```
1469
1470
1471
1472<a name="4.4.1"></a>
1473## [4.4.1](https://github.com/tomchentw/react-google-maps/compare/v4.4.0...v4.4.1) (2015-11-19)
1474
1475
1476### Bug Fixes
1477
1478* **Marker:** remove from MarkerClusterer ([f4e0696](https://github.com/tomchentw/react-google-maps/commit/f4e0696)), closes [#154](https://github.com/tomchentw/react-google-maps/issues/154) [#153](https://github.com/tomchentw/react-google-maps/issues/153)
1479
1480
1481
1482<a name="4.4.0"></a>
1483# [4.4.0](https://github.com/tomchentw/react-google-maps/compare/v4.3.3...v4.4.0) (2015-11-19)
1484
1485
1486### Features
1487
1488* **MarkerClusterer:** Support for MarkerClusterPlus API ([d56551c](https://github.com/tomchentw/react-google-maps/commit/d56551c)), closes [#146](https://github.com/tomchentw/react-google-maps/issues/146)
1489
1490
1491
1492<a name="4.3.3"></a>
1493## [4.3.3](https://github.com/tomchentw/react-google-maps/compare/v4.3.2...v4.3.3) (2015-11-18)
1494
1495
1496### Bug Fixes
1497
1498* **OverlayView:** redraw only when props.mapPaneName changes ([ff4473d](https://github.com/tomchentw/react-google-maps/commit/ff4473d)), closes [#147](https://github.com/tomchentw/react-google-maps/issues/147) [#148](https://github.com/tomchentw/react-google-maps/issues/148)
1499
1500
1501
1502<a name="4.3.2"></a>
1503## [4.3.2](https://github.com/tomchentw/react-google-maps/compare/v4.3.1...v4.3.2) (2015-11-17)
1504
1505
1506### Bug Fixes
1507
1508* **async/ScriptjsGoogleMap:** switch to _.isEqual for key comparasion ([0a1df35](https://github.com/tomchentw/react-google-maps/commit/0a1df35)), closes [#143](https://github.com/tomchentw/react-google-maps/issues/143)
1509
1510
1511
1512<a name="4.3.1"></a>
1513## [4.3.1](https://github.com/tomchentw/react-google-maps/compare/v4.3.0...v4.3.1) (2015-11-16)
1514
1515
1516### Bug Fixes
1517
1518* **package.json:** scriptjs should exist in dependencies ([4f3304c](https://github.com/tomchentw/react-google-maps/commit/4f3304c))
1519
1520
1521
1522<a name="4.3.0"></a>
1523# [4.3.0](https://github.com/tomchentw/react-google-maps/compare/v4.2.1...v4.3.0) (2015-11-16)
1524
1525
1526### Features
1527
1528* **ScriptjsGoogleMap:** add "scriptjs" support ([b80b731](https://github.com/tomchentw/react-google-maps/commit/b80b731))
1529
1530
1531
1532<a name="4.2.1"></a>
1533## [4.2.1](https://github.com/tomchentw/react-google-maps/compare/v4.2.0...v4.2.1) (2015-11-16)
1534
1535
1536### Bug Fixes
1537
1538* **OverlayView:** switch to ReactDOM ([51fe680](https://github.com/tomchentw/react-google-maps/commit/51fe680)), closes [#140](https://github.com/tomchentw/react-google-maps/issues/140)
1539* **OverlayView:** use ReactDOM for unmountComponentAtNode ([735eba0](https://github.com/tomchentw/react-google-maps/commit/735eba0)), closes [#137](https://github.com/tomchentw/react-google-maps/issues/137)
1540
1541
1542
1543<a name="4.2.0"></a>
1544# [4.2.0](https://github.com/tomchentw/react-google-maps/compare/v4.1.1...v4.2.0) (2015-10-15)
1545
1546
1547### Bug Fixes
1548
1549* **src:** replace fbjs dependencies with can-use-dom ([43250b3](https://github.com/tomchentw/react-google-maps/commit/43250b3)), closes [#134](https://github.com/tomchentw/react-google-maps/issues/134)
1550
1551
1552
1553<a name="4.1.1"></a>
1554## [4.1.1](https://github.com/tomchentw/react-google-maps/compare/v4.1.0...v4.1.1) (2015-10-14)
1555
1556
1557### Bug Fixes
1558
1559* **src:** switch to findDOMNode from "react-dom" ([593b1c8](https://github.com/tomchentw/react-google-maps/commit/593b1c8)), closes [#132](https://github.com/tomchentw/react-google-maps/issues/132)
1560
1561
1562
1563<a name="4.1.0"></a>
1564# [4.1.0](https://github.com/tomchentw/react-google-maps/compare/v4.0.0...v4.1.0) (2015-10-13)
1565
1566
1567### Features
1568
1569* **src:** move instance creation in componentWillMount ([91d5790](https://github.com/tomchentw/react-google-maps/commit/91d5790))
1570* **src:** update composeOptions to accept controlledPropTypes for _2 ([03aee4d](https://github.com/tomchentw/react-google-maps/commit/03aee4d))
1571
1572
1573
1574<a name="4.0.0"></a>
1575# [4.0.0](https://github.com/tomchentw/react-google-maps/compare/v3.0.0...v4.0.0) (2015-10-08)
1576
1577
1578### Features
1579
1580* **package.json:** upgrade to React@^0.14 ([443a5fd](https://github.com/tomchentw/react-google-maps/commit/443a5fd)), closes [#127](https://github.com/tomchentw/react-google-maps/issues/127) [#102](https://github.com/tomchentw/react-google-maps/issues/102)
1581
1582
1583### BREAKING CHANGES
1584
1585* * __React@^0.14__: upgrade React in peerDependencies
1586 * add __react-dom@^0.14__ to peerDependencies
1587
1588
1589
1590<a name"3.0.0"></a>
1591## 3.0.0 (2015-09-30)
1592
1593
1594#### Bug Fixes
1595
1596* **package.json:** remove react from dependencies ([bfd37877](https://github.com/tomchentw/react-google-maps/commit/bfd37877), closes [#109](https://github.com/tomchentw/react-google-maps/issues/109))
1597
1598
1599<a name"2.2.0"></a>
1600## 2.2.0 (2015-09-30)
1601
1602
1603#### Bug Fixes
1604
1605* **Marker:** allow null and undefined as children ([17daa0a2](https://github.com/tomchentw/react-google-maps/commit/17daa0a2), closes [#119](https://github.com/tomchentw/react-google-maps/issues/119))
1606
1607
1608<a name"2.1.1"></a>
1609### 2.1.1 (2015-09-30)
1610
1611
1612#### Bug Fixes
1613
1614* **InfoBox:** typo when update InfoBox children ([a66852c4](https://github.com/tomchentw/react-google-maps/commit/a66852c4), closes [#120](https://github.com/tomchentw/react-google-maps/issues/120))
1615
1616
1617<a name"2.1.0"></a>
1618## 2.1.0 (2015-09-08)
1619
1620
1621#### Features
1622
1623* **SearchBox:** Support for Google Places API search box ([b06f5d6c](https://github.com/tomchentw/react-google-maps/commit/b06f5d6c), closes [#110](https://github.com/tomchentw/react-google-maps/issues/110))
1624
1625
1626<a name"2.0.3"></a>
1627### 2.0.3 (2015-08-18)
1628
1629
1630#### Bug Fixes
1631
1632* **OverlayView:**
1633 * add invariant for mapPaneName ([f102577c](https://github.com/tomchentw/react-google-maps/commit/f102577c))
1634 * add invariant checking for position props ([757bda08](https://github.com/tomchentw/react-google-maps/commit/757bda08))
1635 * add position to propTypes ([1fc968ad](https://github.com/tomchentw/react-google-maps/commit/1fc968ad), closes [#99](https://github.com/tomchentw/react-google-maps/issues/99))
1636* **package.json:** remove object-path ([ee55b7a5](https://github.com/tomchentw/react-google-maps/commit/ee55b7a5))
1637
1638
1639<a name"2.0.2"></a>
1640### 2.0.2 (2015-08-08)
1641
1642
1643#### Bug Fixes
1644
1645* **GoogleMap:** remove propTypes validation on children ([0e417015](https://github.com/tomchentw/react-google-maps/commit/0e417015))
1646* **OverlayView:** props.{default}mapPaneName should not be required ([702a5710](https://github.com/tomchentw/react-google-maps/commit/702a5710))
1647
1648
1649<a name"2.0.1"></a>
1650### 2.0.1 (2015-08-08)
1651
1652
1653#### Bug Fixes
1654
1655* **Rectangle:** remove unnecessary underscore ([13312273](https://github.com/tomchentw/react-google-maps/commit/13312273), closes [#90](https://github.com/tomchentw/react-google-maps/issues/90))
1656
1657
1658<a name"2.0.0"></a>
1659## 2.0.0 (2015-08-07)
1660
1661
1662#### Features
1663
1664* **InfoWindow:** add ReactElement child as content support ([2c0dc026](https://github.com/tomchentw/react-google-maps/commit/2c0dc026), closes [#69](https://github.com/tomchentw/react-google-maps/issues/69))
1665* **Rectangle:** add new componet ([4511d87d](https://github.com/tomchentw/react-google-maps/commit/4511d87d), closes [#80](https://github.com/tomchentw/react-google-maps/issues/80))
1666
1667
1668#### Breaking Changes
1669
1670* This commit rewrite this module from scratch.
1671
1672* GoogleMaps -> GoogleMap
1673 - (Others Component names are the same)
1674* OverlayView
1675 - Now only accepts single child
1676* Remove asynchronous loading support
1677* The props are not directly served as options for all google.maps instance.
1678 - Instead, we convert setters to props and also expose getters on component instance.
1679* To set an option directly, you can now pass options object
1680 just the same way as using Google Maps JavaScript APIs.
1681* Expose props have two representation: controlled & uncontrolled
1682 - uncontrolled props will have a `default${ PropName }` name
1683 - controlled props will be `${ propName }` as you expected
1684* Uncontrolled props will be used only when the instance first mounted
1685* Controlled props will call its corresponding setters **every** time rendered
1686
1687MIGRATION GUIDE:
1688
1689It introduces **controlled property** concept into the module. Most of the case, your application would like to have **uncontrolled** property. So change your component like this:
1690
1691Before (v1.x.x):
1692
1693```js
1694<Marker
1695 key={this.props.key}
1696 position={this.props.position}
1697 animation={this.props.animation}
1698 onRightclick={this.handleMarkerRightclick} />
1699```
1700
1701After (v2.x.x):
1702
1703```js
1704<Marker
1705 key={this.props.key}
1706 defaultPosition={this.props.position}
1707 defaultAnimation={this.props.animation}
1708 onRightclick={this.handleMarkerRightclick} />
1709```
1710
1711The properties with *default-* prefix is **uncontrolled** property. It will only be set **ONCE** when the component is first-time mounted. Any further changes to your React props/state will **NOT** affect this marker (So it's **uncontrolled** from the view of React). Who can change the marker, you may ask. The answer is, only the component from google.maps.
1712
1713But sometimes, we may want the marker's position changed according to current state. In that case, you have to provide **controlled** property to the `<Marker [position={this.state.position}>`. By doing so, the marker's position will change *every* time the React props/state changes. However, it will not intercept the changes made by the component from google.maps. This is because for the `<Marker>` itself, it doesn't know what events from google.maps will change its component. So the consumer who uses "react-google-maps" will have to manually handle this in their codebase.
1714
1715 ([081d03f1](https://github.com/tomchentw/react-google-maps/commit/081d03f1))
1716
1717
1718<a name"1.7.1"></a>
1719### 1.7.1 (2015-07-01)
1720
1721
1722#### Bug Fixes
1723
1724* **src:** eslint rules ([012faada](https://github.com/tomchentw/react-google-maps/commit/012faada))
1725
1726
1727## 1.7.0 (2015-06-19)
1728
1729
1730#### Features
1731
1732* **GoogleMaps:** specify map bounds via declarative props.bounds ([b1333c52](https://github.com/tomchentw/react-google-maps/commit/b1333c529fc4b338cef425dba9b4ba7d33937d29), closes [#64](https://github.com/tomchentw/react-google-maps/issues/64))
1733
1734
1735## 1.6.0 (2015-06-19)
1736
1737
1738#### Features
1739
1740* **OverlayView:** add OverlayView component by @petebrowne ([f0c56ecb](https://github.com/tomchentw/react-google-maps/commit/f0c56ecb06a452c3f942f4c1596e9bf6d76f70aa), closes [#63](https://github.com/tomchentw/react-google-maps/issues/63))
1741
1742
1743### 1.5.1 (2015-06-17)
1744
1745
1746## 1.5.0 (2015-06-17)
1747
1748
1749#### Bug Fixes
1750
1751* **VirtualContainer:** propTypes.children should be renderable ([a3d73af4](https://github.com/tomchentw/react-google-maps/commit/a3d73af4c209765eb7ae0ead70e9d3be8afd2ffa))
1752
1753
1754#### Features
1755
1756* **GoogleMaps:** render VirtualContainer as children ([c9e19828](https://github.com/tomchentw/react-google-maps/commit/c9e19828ecf4f35d78f1a0b34bfc6cbe7b1b1780), closes [#61](https://github.com/tomchentw/react-google-maps/issues/61))
1757
1758
1759## 1.4.0 (2015-06-17)
1760
1761
1762#### Bug Fixes
1763
1764* **SimpleChildComponent:** Make sure to only animate markers on the first run. ([65aec078](https://github.com/tomchentw/react-google-maps/commit/65aec0784f833061eeaad7be00d979a0a417330e))
1765* **src:** eslint issues ([adf3764b](https://github.com/tomchentw/react-google-maps/commit/adf3764b6264e2740c5e3e6e8caf56b3c6732300))
1766
1767
1768### 1.3.1 (2015-05-21)
1769
1770
1771## 1.3.0 (2015-05-21)
1772
1773
1774#### Features
1775
1776* **InfoBox:** Support for InfoBox ([613e5ef5](https://github.com/tomchentw/react-google-maps/commit/613e5ef5c517f4db601e13524586a5195b9f967b))
1777
1778
1779## 1.2.0 (2015-05-15)
1780
1781
1782#### Features
1783
1784* **DrawingManager:** Support for Drawing API ([9b3cbeba](https://github.com/tomchentw/react-google-maps/commit/9b3cbeba5ac4d1ebb83c4ed61dadd49ca8ef7c33))
1785* **SimpleChildComponent:**
1786 * use warning from react/lib/warning ([680c194d](https://github.com/tomchentw/react-google-maps/commit/680c194d70485e49f5498d8777a73e80f3f4f73b))
1787 * Add warning text ([9652e0c7](https://github.com/tomchentw/react-google-maps/commit/9652e0c7b231f0569c522add87034dad214a9235))
1788
1789
1790### 1.1.2 (2015-05-06)
1791
1792
1793#### Bug Fixes
1794
1795* **GoogleMaps:** constructor should use spread operator ([d8e30af6](https://github.com/tomchentw/react-google-maps/commit/d8e30af69dc411cc5a2d5f8cb0239a4669b1c693))
1796* **SimpleChildComponent:** prevent removal of child during update ([834d399b](https://github.com/tomchentw/react-google-maps/commit/834d399b3c39045d8406b5db50edf4618aa2b67a))
1797
1798
1799### 1.1.1 (2015-05-01)
1800
1801
1802#### Bug Fixes
1803
1804* **VirtualContainer:** preserve ref for React.cloneElement ([3d3be964](https://github.com/tomchentw/react-google-maps/commit/3d3be964111b969bad9a1f5052f4aae8e3cc3637))
1805
1806
1807## 1.1.0 (2015-04-30)
1808
1809
1810#### Features
1811
1812* **GoogleMaps:**
1813 * get rid of mapProps ([7e338c2a](https://github.com/tomchentw/react-google-maps/commit/7e338c2add01fdb63441e023e5da25db905b9c4c))
1814 * render child components inside VirtualContainer ([f07eb4b4](https://github.com/tomchentw/react-google-maps/commit/f07eb4b47605a4bc2752f60306ae4e5f8395bc64))
1815
1816
1817#### Breaking Changes
1818
1819* mapProps is no longer needed
1820
1821 since map children components are now rendered inside a virtual
1822 container, we don't need funky wrapper div anymore.
1823
1824 Before:
1825
1826 <div {...props.containerProps} ref="googleMaps" />
1827 <div {...props.mapProps} ref="googleMaps" />
1828 </div>
1829
1830 After:
1831
1832 <div {...props.containerProps} ref="googleMaps" />
1833
1834 ([7e338c2a](https://github.com/tomchentw/react-google-maps/commit/7e338c2add01fdb63441e023e5da25db905b9c4c))
1835
1836
1837### 1.0.1 (2015-04-30)
1838
1839
1840#### Bug Fixes
1841
1842* **Marker:** dont wrap children inside noscript tag ([5d9bbf0a](https://github.com/tomchentw/react-google-maps/commit/5d9bbf0a805d726711d1a97b034bbf813b54ee4c))
1843* **package.json:** test ([7b54b54e](https://github.com/tomchentw/react-google-maps/commit/7b54b54e0cd432fb6683d1c7558f62104e8c07e2))
1844
1845
1846## 1.0.0 (2015-04-28)
1847
1848
1849#### Bug Fixes
1850
1851* **package.json:** add peerDependencies ([15166996](https://github.com/tomchentw/react-google-maps/commit/1516699617da603dd9dc7e51528a3dd827470617))
1852
1853
1854#### Features
1855
1856* **src:** rewrite with new API ([a525d5f2](https://github.com/tomchentw/react-google-maps/commit/a525d5f2a074506ad0a9a50fd58d77ecfc4318f9))
1857
1858
1859### 0.2.5 (2015-03-11)
1860
1861
1862#### Features
1863
1864* **Map:**
1865 * add support for DirectionsRenderer ([0102184a](https://github.com/tomchentw/react-google-maps/commit/0102184a5dfa58392f70686b810734953e4d008c))
1866 * add Circle support ([8a8d4d50](https://github.com/tomchentw/react-google-maps/commit/8a8d4d50563b83d98929aacff72a1dcf8708a7e7))
1867
1868
1869### 0.2.4 (2014-12-16)
1870
1871
1872#### Features
1873
1874* **Map:** expose fitBounds as public API ([c64da722](https://github.com/tomchentw/react-google-maps/commit/c64da7225c0ed88a03104d34a7cbd2bdbe46b22a))
1875
1876
1877### 0.2.3 (2014-11-27)
1878
1879
1880### 0.2.2 (2014-11-20)
1881
1882
1883#### Bug Fixes
1884
1885* **Map:** only pass id, className and style from props ([284ab299](https://github.com/tomchentw/react-google-maps/commit/284ab2991a7be95afa2b612ef7c8ca0b5faa8861))
1886
1887
1888### 0.2.1 (2014-11-20)
1889
1890
1891## 0.2.0 (2014-11-20)
1892
1893
1894#### Bug Fixes
1895
1896* **ChildMixin:** remove invalid_context and duplicated contextTypes ([80110a23](https://github.com/tomchentw/react-google-maps/commit/80110a23d3fb7e2fd8d4dd0258207a6312912c9c))
1897* **EventBindingMixin:** pass instance when binding/unbinding ([bb922794](https://github.com/tomchentw/react-google-maps/commit/bb9227940a7b6b6e4394878fe48e49f623f88759))
1898* **GoogleMapsMixin:** respond to update of googleMapsApi ([3b0a0e07](https://github.com/tomchentw/react-google-maps/commit/3b0a0e07bda3263343d41ed90514e25511940309))
1899* **InfoWindow:**
1900 * event names ([abb9ad3f](https://github.com/tomchentw/react-google-maps/commit/abb9ad3f1dc0a367145d0c9397f1ec635badb2fe))
1901 * check owner props before getting ref ([9022d48f](https://github.com/tomchentw/react-google-maps/commit/9022d48fb45679a19145c85ac601b41fdc5dca4d))
1902* **Map:**
1903 * bind event once to component instance ([fe2665ae](https://github.com/tomchentw/react-google-maps/commit/fe2665aebd10d908b6a49b1dacbce3b7650ae804))
1904 * add api loaded state to _initialized ([0e0192ba](https://github.com/tomchentw/react-google-maps/commit/0e0192ba47cc84f3174435538e7ac4fa7c126ec4))
1905* **Marker:** event listeners ([f878c002](https://github.com/tomchentw/react-google-maps/commit/f878c0023daeb076e3becc618cdef464997de257))
1906* **Polygon:** event listeners ([5f98d0e1](https://github.com/tomchentw/react-google-maps/commit/5f98d0e1905d5d5b72c538bef70843519e982541))
1907* **create_child_component:** event binding for child components ([f4b1b022](https://github.com/tomchentw/react-google-maps/commit/f4b1b022eec885fe7ca9c17cebe24fa33c5b7a8d))
1908* **expose_getters_from:** should iterate all keys in prototype chain ([5a89ed1c](https://github.com/tomchentw/react-google-maps/commit/5a89ed1c78c7e20dbe6bceb7dcc7a6f2e9118f71))
1909
1910
1911#### Features
1912
1913* **ChildMixin:**
1914 * expose instance getters from prototype ([bad5456f](https://github.com/tomchentw/react-google-maps/commit/bad5456f3139933a7c51eb11b4abcc147489abd0))
1915 * add invalid_context to check before operations ([5d33c309](https://github.com/tomchentw/react-google-maps/commit/5d33c3093f5040ee9502c85743c3c6457d8ca242))
1916 * make Map and Marker use context apis ([9514b484](https://github.com/tomchentw/react-google-maps/commit/9514b4843453f00795e4bb685a4c8f341b77d98b))
1917* **EventBindingMixin:**
1918 * move event names definition to caller ([4c5ca5d1](https://github.com/tomchentw/react-google-maps/commit/4c5ca5d11f7ce0fea3fce2ff0d286719931520c7))
1919 * hook to correct lifecycle events ([4ef9fdea](https://github.com/tomchentw/react-google-maps/commit/4ef9fdead0b0dd430e4ae2cd4abb0e9b49927b44))
1920 * extract event binding part out ([c12ddd4a](https://github.com/tomchentw/react-google-maps/commit/c12ddd4a7420e48004baafc6bb2fbbf38632a9a5))
1921* **GoogleMap:**
1922 * hookup event listeners to map instance ([ff1a7a8a](https://github.com/tomchentw/react-google-maps/commit/ff1a7a8acf7534e61036ec6cf2c75b5a79918143))
1923 * initialize google map component ([80e7fd84](https://github.com/tomchentw/react-google-maps/commit/80e7fd841988c1fc61a0ecf8bc0f46ffd70fcc21))
1924* **GoogleMapsMixin:**
1925 * move into mixins subfolder ([0f10be83](https://github.com/tomchentw/react-google-maps/commit/0f10be83d7805f69f1bc5c16c89b49de3ef56c0d))
1926 * create mixin for context usage ([526ca9d8](https://github.com/tomchentw/react-google-maps/commit/526ca9d8c8cc561f9d9a84a2b4ef10a43d84e862))
1927* **InfoWindow:** component with example ([e227edf8](https://github.com/tomchentw/react-google-maps/commit/e227edf8af2e440e498544469d306ff1eecbc38b))
1928* **Map:**
1929 * expose panBy, panTo and panToBounds as public interfaces ([6ccd1284](https://github.com/tomchentw/react-google-maps/commit/6ccd12849ec89f0ed0c1a6211c21c47ca89107c1))
1930 * stateless map component ([3d3aa153](https://github.com/tomchentw/react-google-maps/commit/3d3aa1538131b35e0ae5aa702b521899a27ed919))
1931 * configureable id, className and style ([420e83bb](https://github.com/tomchentw/react-google-maps/commit/420e83bbb19a5f5c951a6f2f73da564ddfc04c6f))
1932 * setOptions when componentDidUpdate ([8d07bd34](https://github.com/tomchentw/react-google-maps/commit/8d07bd3410da97ec330db9d4a188e7d108218813))
1933 * extract out Map component ([8c5429c7](https://github.com/tomchentw/react-google-maps/commit/8c5429c7ef913a812929eaa72a74062805895c56))
1934* **Marker:** update options when componentDidUpdate ([0a7e490f](https://github.com/tomchentw/react-google-maps/commit/0a7e490f13af7c22e0a5b54dd5251527a7987964))
1935* **Polygon:** add component and client example ([556b9be9](https://github.com/tomchentw/react-google-maps/commit/556b9be93542a796b5ca447b90d717a193f8d618))
1936* **Polyline:** component with example ([d0b802bb](https://github.com/tomchentw/react-google-maps/commit/d0b802bbf108a73554be67b3f81f1cb0f149f557))
1937* **index:** create common child components by factory ([43b791d2](https://github.com/tomchentw/react-google-maps/commit/43b791d2610fa86083832b8579f25703a01f0ad7))