手机版

如何通过对本地人做出反应来获取地理位置示例

时间:2021-08-30 来源:互联网 编辑:宝哥软件园 浏览:

React原生官网介绍了这个api Geolocation,但是这个api只能返回经纬度,所以要通过反向地理位置逃离经纬度,http://recode.ditu.aliyun.com/jsdoc/geocode_api.html可以使用阿里的这个开放接口

在react native中,我们使用react native附带的api定位函数,而不引入第三方js。

通过地理定位模块实现反应式本地定位。如果你想了解更多关于地理位置的信息,请点击下面的地理位置来了解。这里主要介绍他的方法。

静态getCurrentPosition(geo_success,geo_error?地理选项?)使用最新的位置信息调用一次成功回调。支持的选项:超时(毫秒)、最大图像(毫秒)、启用高精度(布尔)在安卓系统上,如果位置被缓存或请求更新,这几乎可以立即返回,这可能需要一段时间。

静态观察位置(成功,错误?选项?)每当位置改变时调用成功回调。支持的选项3360超时(毫秒)、最大图像(毫秒)、启用高精度(布尔)、距离过滤器(米)

静态clearWatch(watchID)

第一种方法是第一次定位时获取位置信息。第一个是成功时的回退功能,错误时的回退功能,第三个是状态传输。请求成功功能中有以下属性:

经度:坐标.经度纬度:坐标.纬度精度:坐标.精度高度:坐标.高度高度精度:坐标.高度航向行驶方向: coo .航向地面速度:坐标.速度时间戳:新日期(位置。时间戳)在请求失败函数(err.code status值)中有四种情况:

1.用户拒绝定位。2.暂时无法获取位置信息。3.请求超时。4.未知错误

第三个选项是具有以下属性的可选参数:

EnableHighAccuracy——指示浏览器获取高精度位置,默认值为false。打开后可能没有任何效果,浏览器可能需要更长时间才能获得更准确的位置数据。

Timeout——指定获取地理位置的超时时间,默认情况下是无限制的。单位是毫秒。

MaximumAge——最大有效期,此参数指定重复获取地理位置时,再次获取位置的时间。默认值为0,这意味着浏览器需要立即重新计算位置。

静态观察位置(成功,错误?选项?当位置信息多次改变时会触发。通常,触发的可能性可能是用户多次刷新数据。比如一个人开车去别的城市,如果设置了监控功能,只要watchid不一样,就会连续触发。

由于缓存可能发生,Geolocation为我们提供了一个可以清除缓存的方法watchPosition(),修改后的方法用于清除最后的定位信息。

顺便说一下,要启动react native的定位功能,如果你是安卓用户,需要在AndroidManifest.xml中添加以下权限

uses-permission Android : name=' Android . permission . access _ fine _ location '/具体实现

从"地理位置"导入地理位置;getlocal(){地理位置。getcurrentposition(val={ let ValInfo='速度:“瓦尔。坐标。速度" \ n经度:' val.coords。经度\n纬度:' val.coords.latitude '\n准确度:' val.coords.accuracy '\n行进方向:' val.coords.heading '\n海拔:“瓦尔。坐标。高度' \ n海拔准确度:' val.coords.altitudeAccuracy ' \ n时间戳:' val.timestampthis。setstate({ local position : ValInfo });console.log('打印地理位置:' ` ${val.coords。经度},${val.coords。latitude } `)GET _ GPRS({ ' l ' : ` $ { val。坐标。纬度},$ { val。坐标。经度} `,' type':111,}).然后(RES={控制台。日志(JSON。stringify(RES))})},val={ let ValInfo='获取坐标失败:' valthis。setstate({ local position : ValInfo });//如果为空的话没允许开启定位服务}, );}这里的GET_GPRS是自己封装的酶请求

记得开启位置访问权限

打印结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

版权声明:如何通过对本地人做出反应来获取地理位置示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。