реакция-родной-карты нажмите -> текущее местоположение - PullRequest
0 голосов
/ 06 января 2020

Я надеюсь переместить указанное c местоположение (например, мое текущее местоположение).

Когда я нажимаю touchableOpacity, нижний текст указывает мое местоположение.

Однако расположение карты не изменилось ...

Как перейти к указанному c местоположению при нажатии кнопок.

Пожалуйста, помогите мне.

Это мои зависимости.

"dependencies": {
    "react": "16.9.0",
    "react-native": "0.61.5",
    "react-native-geolocation-service": "^3.1.0",
    "react-native-maps": "0.26.1"
  },

Ниже мой код.

import React, { Component } from 'react';
import { Alert, StyleSheet, Text, View, TouchableOpacity, PermissionsAndroid } from 'react-native';
import MapView, {Marker}  from 'react-native-maps';
import Geolocation from 'react-native-geolocation-service';
export default class App extends Component {
  constructor(){
    super()
    this.state = { 
      latitude: 37.484521,
      longitude: 127.034237,
      latitudeDelta: 0.0922,
      longitudeDelta: 0.0421,
      minZoomLevel: 10,
      maxZoomLevel: 16,
    }
  }

  findCoordinates = () => {
    Geolocation.getCurrentPosition(
      position => {
      const { latitude, longitude } = position.coords;
      this.setState({ latitude, longitude       
        });      
      },
      error => Alert.alert(error.message),
      { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
    );
  };
  render() {
    return (
      <View style={styles.container}>
        <MapView
          minZoomLevel={this.state.minZoomLevel}
          maxZoomLevel={this.state.maxZoomLevel}
          style={styles.map}
            initialRegion={{
            latitude: this.state.latitude,
            longitude: this.state.longitude,
            latitudeDelta: 0.0922,
            longitudeDelta: 0.0421,
          }}
          onRegionChange={this.location}
            >
        </MapView>
        <TouchableOpacity onPress={this.findCoordinates} >
          <Text style={styles.welcome}>Find My Coords?</Text>
          <Text>Location: {this.state.latitude}</Text>
        </TouchableOpacity>
      </View>
    );
  }
}
const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'flex-end',
        alignItems: 'center',
        backgroundColor: '#F5FCFF'
    },
    map: {
      position: 'absolute',
      top: 0,
      left: 0,
      right: 0,
      bottom: 0,
    },
    welcome: {
        fontSize: 20,
        textAlign: 'center',
        margin: 10
    }
});
...