我正在尝试记录移动设备的当前位置。 我从youtube上的旧教程中获得了此代码,但现在对我而言它并不起作用,我不知道为什么。
以下代码。创建一个按钮,该按钮onclick会触发一个功能,该功能应记录用户的位置。 不幸的是,什么也没有发生。
这是代码:
/**
* 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>
问题是,当我单击按钮时,什么也没有发生...位置功能根本不触发。它不会显示任何错误。
非常感谢您的帮助。