Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to zoom in/out in react-native-map?

I am using react-native to build a map application. The api I am using is from this link: https://github.com/lelandrichardson/react-native-maps. Below is the code I bring the map on my app. I wander how I can give a zoom value on that map. And how I can change the zoom value when user click a button on the map. What is the zoom API I should use to achieve this?

import React, {   AppRegistry,   Component,   StyleSheet,   Text,   View,   Image,   ListView,   TextInput,   TouchableHighlight,   Dimensions,  //MapView, } from 'react-native';  import MapView from 'react-native-maps';  const styles = StyleSheet.create({   map: {     position: 'absolute',     top: 0,     left: 0,     right: 0,     bottom: 0,   },   container: {     flexDirection: 'row',     justifyContent: 'space-between',     padding: 30,     flex: 1,     alignItems: 'center'   },   inputText: {     height: 36,       padding: 4,       marginRight: 5,       flex: 4,       fontSize: 18,       borderWidth: 1,       borderColor: '#48BBEC',       borderRadius: 8,       color: '#48BBEC'   } });  class MapPage extends Component{      constructor(props){         super(props);         this.state = {             region:{                 latitude: 4.21048,                 longitude: 101.97577,             latitudeDelta: 10,             longitudeDelta: 5             }         }     }      render() {         return(             <View style={styles.container}>                 <TextInput style={styles.inputText}></TextInput>                 <MapView                      style={ styles.map }                     mapType={"standard"}                     region={this.state.region}                     zoomEnabled={true}                     scrollEnabled={true}                     showsScale={true}                   ></MapView>             </View>             )     } }  module.exports = MapPage; 
like image 871
Joey Yi Zhao Avatar asked Apr 18 '16 04:04

Joey Yi Zhao


People also ask

How do you zoom out in react native map?

It takes a region object which has latitudeDelta and longitudeDelta . Use these to set the zoom level. Updated: in a Region object the latitude and longitude specify the center location and latitudeDelta and longitudeDelta specify the span of the viewable map area.

What is latitudeDelta and longitudeDelta?

latitudeDelta. The amount of north-to-south distance (measured in degrees) to use for the span. Unlike longitudinal distances, which vary based on the latitude, one degree of latitude is approximately 111 kilometers (69 miles) at all times. longitudeDelta.

What is zoom level in Google map?

The Google Maps API provides map tiles at various zoom levels for map type imagery. Most roadmap imagery is available from zoom levels 0 to 18, for example. Satellite imagery varies more widely as this imagery is not generated, but directly photographed.


1 Answers

You should use the animateToRegion method (see here)

It takes a region object which has latitudeDelta and longitudeDelta. Use these to set the zoom level.

Updated:

in a Region object the latitude and longitude specify the center location and latitudeDelta and longitudeDelta specify the span of the viewable map area.

This image from this blog post illustrates it well (LatΔ and LngΔ). enter image description here

like image 169
David Avatar answered Oct 08 '22 00:10

David