1. 安装依赖
yarn add react-native-amap-geolocation
2.引包使用
import { Platform, PermissionsAndroid } from 'react-native'
import {init, Geolocation } from 'react-native-amap-geolocation'
async getLocation() {
if(Platform.OS === 'android') {
const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION)
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
//设置高德key
await init({
// ios: "9bd6c82e77583020a73ef1af59d0c759",
android: "7c9050abafa88e8ef98d7232c09ea258" // 传入AMAP_KEY
});
Geolocation.getCurrentPosition(
({location}) => {
console.log(location.address)
// 输出结果
// {
// "accuracy": 50,
// "adCode": "360111",
// "address": "江西省南昌市青山湖区中兴路684号靠近中兴南昌科技园",
// "altitude": 0,
// "city": "南昌市",
// "cityCode": "0791",
// "coordinateType": "GCJ02",
// "country": "中国",
// "description": "在中兴南昌科技园附近",
// "district": "青山湖区",
// "errorCode": 0,
// "errorInfo": "success",
// "gpsAccuracy": -1,
// "heading": 0,
// "latitude": 28.704892,
// "locationDetail": "#id:ELA==#csid:8d8c9fcd85b644c4abc37f5d45bab687",
// "locationType": 4,
// "longitude": 116.000978,
// "poiName": "中兴南昌科技园",
// "province": "江西省",
// "speed": 0,
// "street": "中兴路",
// "streetNumber": "684号",
// "timestamp": 1642753591692,
// "trustedLevel": 1
// }
},
(error) => {
alert(JSON.stringify(error))
return this.setState({ error: error.message }, alert(error.message))
},
{ enableHighAccuracy: true, timeout: 10000, maximumAge: 10000 }
)
}
}
}
// 测试高德定位
componentDidMount() {
this.getLocation()
}
3. 申请高度key
SHA1 获取 跳转链接
调试版的debug.keystore所在位置
查看命令
keytool -list -v -keystore E:\ReactNative\tanhua\android\app\debug.keystore
查看结果
别名: androiddebugkey
创建日期: 2014-1-1
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=Android Debug, OU=Android, O=Unknown, L=Unknown, ST=Unknown, C=US
发布者: CN=Android Debug, OU=Android, O=Unknown, L=Unknown, ST=Unknown, C=US
序列号: 232eae62
有效期为 Wed Jan 01 06:35:04 CST 2014 至 Wed May 01 06:35:04 CST 2052
证书指纹:
MD5: 20:F4:61:48:B7:2D:8E:5E:5C:A2:3D:37:A4:F4:14:90
SHA1: 5E:8F:16:06:2E:A3:CD:2C:4A:0D:54:78:76:BA:A6:F3:8C:AB:F6:25
SHA256: FA:C6:17:45:DC:09:03:78:6F:B9:ED:E6:2A:96:2B:39:9F:73:48:F0:BB:6F:89:9B:83:32:66:75:91:03:3B:9C
签名算法名称: SHA1withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3
发行版的
需在本地cmd中的 C:\Program Files\Java\jdk1.8.0_152\bin中执行 通过
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
输入密码(123456)自己写的
会生成一个my-release-key.keystore 文件,复制到android/app (复制到.android目录)
查看命令
keytool -v -list -keystore E:\ReactNative\tanhua\android\app\my-release-key.keystore
结果
别名: my-key-alias
创建日期: 2022-1-21
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=liao, OU=liao, O=liao, L=liao, ST=liao, C=liao
发布者: CN=liao, OU=liao, O=liao, L=liao, ST=liao, C=liao
序列号: 3051076e
有效期为 Fri Jan 21 15:27:33 CST 2022 至 Tue Jun 08 15:27:33 CST 2049
证书指纹:
MD5: E7:68:46:2E:C8:CF:F6:E2:C7:14:AD:AE:83:44:0D:8A
SHA1: 06:03:E9:17:8B:39:D9:01:87:9A:FC:45:A2:AF:86:50:0C:E1:81:01
SHA256: 50:57:FC:B0:62:C1:7A:44:F0:AA:A1:E1:D3:0F:C7:F2:46:AF:60:EB:34:DF:BF:FF:6A:D5:2A:88:41:2C:E3:9D
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3