@@ -41,8 +41,12 @@ const MapsControls: React.FC<MapControlsProps> = ({ mapViewController }) => {
4141 const [ enableLocationMarker , setEnableLocationMarker ] = useState ( true ) ;
4242 const [ latitude , onLatChanged ] = useState ( '' ) ;
4343 const [ longitude , onLngChanged ] = useState ( '' ) ;
44- const [ horizontalPadding , setHorizontalPadding ] = useState ( '' ) ;
45- const [ verticalPadding , setVerticalPadding ] = useState ( '' ) ;
44+ const [ padding , setPadding ] = useState ( {
45+ top : '' ,
46+ bottom : '' ,
47+ left : '' ,
48+ right : '' ,
49+ } ) ;
4650
4751 useEffect ( ( ) => {
4852 if ( zoom !== null ) {
@@ -197,24 +201,15 @@ const MapsControls: React.FC<MapControlsProps> = ({ mapViewController }) => {
197201 mapViewController . clearMapView ( ) ;
198202 } ;
199203
200- const onHorizontalPaddingChanged = ( padding : string ) => {
204+ const onPaddingChanged = ( edge : keyof typeof padding , value : string ) => {
205+ const updatedPadding = { ...padding , [ edge ] : value } ;
206+ setPadding ( updatedPadding ) ;
201207 mapViewController . setPadding (
202- Number ( verticalPadding ) ,
203- Number ( padding ) ,
204- Number ( verticalPadding ) ,
205- Number ( padding )
208+ Number ( updatedPadding . top ) ,
209+ Number ( updatedPadding . left ) ,
210+ Number ( updatedPadding . bottom ) ,
211+ Number ( updatedPadding . right )
206212 ) ;
207- setHorizontalPadding ( padding ) ;
208- } ;
209-
210- const onVerticalPaddingChanged = ( padding : string ) => {
211- mapViewController . setPadding (
212- Number ( padding ) ,
213- Number ( horizontalPadding ) ,
214- Number ( padding ) ,
215- Number ( horizontalPadding )
216- ) ;
217- setVerticalPadding ( padding ) ;
218213 } ;
219214
220215 return (
@@ -304,17 +299,33 @@ const MapsControls: React.FC<MapControlsProps> = ({ mapViewController }) => {
304299 </ View >
305300 < TextInput
306301 style = { styles . input }
307- onChangeText = { onHorizontalPaddingChanged }
308- value = { horizontalPadding }
309- placeholder = "Horizontal padding"
302+ onChangeText = { value => onPaddingChanged ( 'top' , value ) }
303+ value = { padding . top }
304+ placeholder = "Top padding"
305+ placeholderTextColor = "#000"
306+ keyboardType = "numeric"
307+ />
308+ < TextInput
309+ style = { styles . input }
310+ onChangeText = { value => onPaddingChanged ( 'bottom' , value ) }
311+ value = { padding . bottom }
312+ placeholder = "Bottom padding"
313+ placeholderTextColor = "#000"
314+ keyboardType = "numeric"
315+ />
316+ < TextInput
317+ style = { styles . input }
318+ onChangeText = { value => onPaddingChanged ( 'left' , value ) }
319+ value = { padding . left }
320+ placeholder = "Left padding"
310321 placeholderTextColor = "#000"
311322 keyboardType = "numeric"
312323 />
313324 < TextInput
314325 style = { styles . input }
315- onChangeText = { onVerticalPaddingChanged }
316- value = { verticalPadding }
317- placeholder = "Vertical padding"
326+ onChangeText = { value => onPaddingChanged ( 'right' , value ) }
327+ value = { padding . right }
328+ placeholder = "Right padding"
318329 placeholderTextColor = "#000"
319330 keyboardType = "numeric"
320331 />
0 commit comments