навигатор геолокация getcurrentposition ничего не возвращает - PullRequest
0 голосов
/ 04 июня 2019

Im Пытается записать текущую позицию мобильного устройства. Я получил этот код из более старого учебника на YouTube, но сейчас он мне не подходит, и я не могу понять, почему.

Следующий код. Создает кнопку, которая запускает функцию, которая должна регистрировать местоположение пользователя. К сожалению, ничего не происходит вообще.

Это код:

        /**
     * Sample React Native App
     * https://github.com/facebook/react-native
     *
     * @format
     * @flow
     */

import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import FetchLocation from './components/FetchLocation.js';

const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
  android:
    'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});

type Props = {};
export default class App extends Component<Props> {


  error = (err) => {
    console.log(err);
  }
  success = (suc) => {
    console.log(suc);
  }

  getUserLocationHandler = () => {
    navigator.geolocation.getCurrentPosition(this.success, this.error, { enableHighAccuracy: true, timeout: 20, maximumAge: 1000 });
  } 

  render() {
    return (
      <View style={styles.container}>
       <FetchLocation onGetLocation={this.getUserLocationHandler} />
      </View>
    );
  }
}


Это файл FetchLocation.js:


import React from 'react';
import { Button } from 'react-native';

const fetchLocation = props => {
    return (
        <Button title="Get Location" onPress={props.onGetLocation} />
        );
}

export default fetchLocation;

А это мой манифест Android:


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.myfirstrnproject">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
    </application>

</manifest>

Проблема в том, что когда я нажимаю кнопку, ничего не происходит ... Функция положения вообще не срабатывает. Это не показывает ошибку ничего.

Я благодарен за любую помощь.

...