RN升级篇(四):地图定位TypeError:undefined is not an object navigator.geolocation.getCurrentPosition

因项目需求需要再次做RN升级,从最开始的0.48升级到0.57稳定后,一直持续项目开发,然后到现在的0.62.2版本;RN也做了重大调整,许多核心组件已不能直接使用;例如 前面上文提到的ListView、WebView、ART等核心组件,还有文中即将提到的地图定位geolocation组件已经不能直接使用了;

未升级之前的定位组件是不需要import导入的,都是直接访问全局的navigator.geolocation对象;

现在升级到0.6版本之后,会提示报如下错误:

凡事不要慌,直接看下错误信息,已经指出具体报错信息,navigator.geolocation.getCurrentPosition找不到了

错误信息看完了,现在我们就直接上解决方案:

在package.json引入@react-native-community/geolocation插件,

1、执行npm install --save @react-native-community/geolocation

2、方案一:需要进行link,但有可能会link失败,可以手动进行添加

3、方案二:手动进行配置Androidstudio配置文件:

@1、settings.gradle中添加

include ':@react-native-community_geolocation' project(':@react-native-community_geolocation').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/geolocation/android')

@2、主module中导入:

compile project(path: ':@react-native-community_geolocation')

@3、

Application中在getPackages方法中新增
new GeolocationPackage()

编译运行!地理定位组件就到这里了,遇到其他错误信息再一一进行上传,欢迎讨论!

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值