最近使用rn获取高德定位踩坑,rn中默认内置组件navigator.geolocation可以获取定位信息(注意默认百度坐标系,可能还需要转换坐标系),此时部分android机中会有兼容性问题,导致获取位置信息会超时,这时采用第三方组件库react-native-amap-geolocation集成具体如下:
1、安装
yarn add react-native-amap-geolocation
2、链入至原生 android
react-native link react-native-amap-geolocation
代码
import { PermissionsAndroid } from "react-native";
import { init, Geolocation } from "react-native-amap-geolocation";
await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION);
await init({
ios: "9bd6c82e77583020a73ef1af59d0c759",
android: "043b24fe18785f33c491705ffe5b6935"
});
Geolocation.getCurrentPosition(({ coords }) => {
console.log(coords); //此时已经取到返回的经纬度
});
注意此时ios执行link命令会报错
react native ios运行时抛出 <