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

267 天前
 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}]


得用百度或高德?
3884 次点击
所在节点    Android
13 条回复
galileo2ai
266 天前
给一段你的代码?你用的是哪个 lib? 我了解有一些 location lib 确实会依赖 google play.
BeijingBaby
266 天前
@liyang582 用的是 expo-location 这个库,ios 下无任何问题,部分安卓机型会报上面的错误。
BeijingBaby
266 天前
BeijingBaby
266 天前
@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
266 天前
华为手机,可能要集成 HMS Core ?
chaselen
266 天前
@chaselen react-native-hms-location
BeijingBaby
266 天前
@chaselen #6 确实是华为,我看看这个库,thx
1una0bserver
266 天前
类原生/aosp 系统未实现 network location provider/fused location provider ,这个在国外依赖于 gms ,国内是由厂商自行实现的(一般就是接入的第三方定位 API 然后做个 API 转换),国内用外版系统的 OEM 机由于众所周知的原因也用不了 google 的定位服务。这个一般都是直接在应用内接入第三方的定位 SDK ,他们是直接读取 gps 数据和 ip 等方式自己定位的。看看高德和百度的第三方定位 SDK 没有给 react native 做了适配的吧,旧点也能用,API 变动不大简单改改就行
1una0bserver
266 天前
@1una0bserver 没有 -> 有没有
bboring
33 天前
同有问题。OP 后来有没有解决啊?华为的解决了吗?小米还有其他型号的能用吗?
BeijingBaby
33 天前
@bboring 用了高德
bboring
32 天前
@BeijingBaby #11 支付了 5w 授权费啊
BeijingBaby
32 天前
@bboring #12 没有,但是高德的销售确实吃相难看,企业身份注册,然后按需购买套餐,本身就可以用。他们销售天天电话轰炸,说企业必须要花 5w 授权
我说,我都是按照官网直接付费套餐就能用了,你要是必须授权,那就关停我的账号呗,后面就再也没打电话了,账号也正常用。

这就好比,各个云服务,本身你就可以花钱买服务、买套餐,结果告诉你企业必须还要花 5w 买授权,不然前面的套餐无效?吃相很难看。

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

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

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

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

© 2021 V2EX