react native 下安卓原生定位 api 无法使用吗?

1 天前
 BeijingBaby
会返回错误:[Error: Location request has been rejected: 17: API: LocationServices.API is not available on this device. Connection failed with: ConnectionResult{statusCode=SERVICE_INVALID, resolution=null, message=null}]


得用百度或高德?
702 次点击
所在节点    Android
9 条回复
liyang582
1 天前
给一段你的代码?你用的是哪个 lib? 我了解有一些 location lib 确实会依赖 google play.
BeijingBaby
1 天前
@liyang582 用的是 expo-location 这个库,ios 下无任何问题,部分安卓机型会报上面的错误。
BeijingBaby
1 天前
BeijingBaby
1 天前
@BeijingBaby #3

```
const { coords } = await Location.getCurrentPositionAsync({
accuracy: Location.Accuracy.Low,
});
```

的时候出现:

[Error: Location request has been rejected: 17: API: LocationServices.API is not available on this device. Connection failed with: ConnectionResult{statusCode=SERVICE_INVALID, resolution=null, message=null}]
chaselen
1 天前
华为手机,可能要集成 HMS Core ?
chaselen
1 天前
@chaselen react-native-hms-location
BeijingBaby
1 天前
@chaselen #6 确实是华为,我看看这个库,thx
1una0bserver
4 小时 40 分钟前
类原生/aosp 系统未实现 network location provider/fused location provider ,这个在国外依赖于 gms ,国内是由厂商自行实现的(一般就是接入的第三方定位 API 然后做个 API 转换),国内用外版系统的 OEM 机由于众所周知的原因也用不了 google 的定位服务。这个一般都是直接在应用内接入第三方的定位 SDK ,他们是直接读取 gps 数据和 ip 等方式自己定位的。看看高德和百度的第三方定位 SDK 没有给 react native 做了适配的吧,旧点也能用,API 变动不大简单改改就行
1una0bserver
4 小时 38 分钟前
@1una0bserver 没有 -> 有没有

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1100139

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX