|
1 | 1 | import React, { PropTypes } from 'react'; |
| 2 | +import SyntheticEvent from 'react/lib/SyntheticEvent'; |
2 | 3 | import { |
3 | 4 | StyleSheet, |
4 | 5 | View, |
@@ -65,13 +66,15 @@ class EventListener extends React.Component { |
65 | 66 |
|
66 | 67 | recordEvent(name) { |
67 | 68 | return e => { |
68 | | - const { events } = this.state; |
69 | | - this.setState({ |
| 69 | + if (e instanceof SyntheticEvent && typeof e.persist === 'function') { |
| 70 | + e.persist(); |
| 71 | + } |
| 72 | + this.setState(prevState => ({ |
70 | 73 | events: [ |
71 | 74 | this.makeEvent(e, name), |
72 | | - ...events.slice(0, 10), |
| 75 | + ...prevState.events.slice(0, 10), |
73 | 76 | ], |
74 | | - }); |
| 77 | + })); |
75 | 78 | }; |
76 | 79 | } |
77 | 80 |
|
@@ -123,6 +126,34 @@ class EventListener extends React.Component { |
123 | 126 | </View> |
124 | 127 | </MapView.Callout> |
125 | 128 | </MapView.Marker> |
| 129 | + <MapView.Polygon |
| 130 | + fillColor={'rgba(255,0,0,0.3)'} |
| 131 | + onPress={this.recordEvent('Polygon::onPress')} |
| 132 | + coordinates={[{ |
| 133 | + latitude: LATITUDE + (LATITUDE_DELTA / 5), |
| 134 | + longitude: LONGITUDE + (LONGITUDE_DELTA / 4), |
| 135 | + }, { |
| 136 | + latitude: LATITUDE + (LATITUDE_DELTA / 3), |
| 137 | + longitude: LONGITUDE + (LONGITUDE_DELTA / 4), |
| 138 | + }, { |
| 139 | + latitude: LATITUDE + (LATITUDE_DELTA / 4), |
| 140 | + longitude: LONGITUDE + (LONGITUDE_DELTA / 2), |
| 141 | + }]} |
| 142 | + /> |
| 143 | + <MapView.Polyline |
| 144 | + strokeColor={'rgba(255,0,0,1)'} |
| 145 | + onPress={this.recordEvent('Polyline::onPress')} |
| 146 | + coordinates={[{ |
| 147 | + latitude: LATITUDE + (LATITUDE_DELTA / 5), |
| 148 | + longitude: LONGITUDE - (LONGITUDE_DELTA / 4), |
| 149 | + }, { |
| 150 | + latitude: LATITUDE + (LATITUDE_DELTA / 3), |
| 151 | + longitude: LONGITUDE - (LONGITUDE_DELTA / 4), |
| 152 | + }, { |
| 153 | + latitude: LATITUDE + (LATITUDE_DELTA / 4), |
| 154 | + longitude: LONGITUDE - (LONGITUDE_DELTA / 2), |
| 155 | + }]} |
| 156 | + /> |
126 | 157 | </MapView> |
127 | 158 | <View style={styles.eventList}> |
128 | 159 | <ScrollView> |
|
0 commit comments