Cordova 插件地理位置2024 年 8 月 29 日 | 5 分钟阅读 Geolocation 插件用于确定设备的地理位置,以经度和纬度表示。它提供常用的位置信息来源,包括 GPS 定位和网络信号,即 IP 地址、WiFi、蓝牙、MAC 地址、RFID 和 GSM/CDMA 小区 ID。 需要注意的是,不能保证获取到设备的实际位置。 基本上,插件 API 基于标准的 W3C Geolocation API 规范。它仅在特定设备上执行,这些设备尚未提供实现。 全局 navigator.geolocation 对象由此插件定义(对于缺少该对象的平台)。 即使它位于全局范围内,但在 deviceready 事件之后,此插件才可用。 此插件在各种平台上受支持,例如 iOS、Android、Windows。 安装如果要在应用程序中添加此插件,则必须先安装它。 以下命令适用于 cordova 5.0+ 版本。 cordova plugin add cordova-plugin-geolocation 如果您安装了旧版本的 Cordova,您仍然可以通过已弃用的 ID 安装此插件。 cordova plugin add org.apache.cordova.geolocation 我们也可以直接通过 repo url 安装插件 cordova plugin add https://github.com/apache/cordova-plugin-geolocation.git 方法geolocation 插件中使用了各种方法,如下所示
navigator.geolocation.getCurrentPosition通过使用此方法,设备的当前位置将返回到 geolocationSuccess 回调,并将 Position 对象作为参数传递。 如果遇到任何错误,则 geolocationError 回调会传递一个 PositionError 对象 参数geolocationSuccess: 它是作为参数传递的回调方法。 它传递当前位置。 geolocationError (可选): 它是作为参数传递的回调方法。 当遇到任何错误时,它会执行。 geolocationOptions (可选): 它用于引用地理定位选项。 示例navigator.geolocation.watchPosition当检测到位置发生任何变化时,此方法用于返回设备的当前位置。 如果检索到新的设备位置,则执行 geolocationSuccess 回调方法,其中 Position 对象作为参数传递。 如果遇到任何错误,则使用 PositionError 对象执行 geolocationError 回调方法。 参数geolocationSuccess: 它是作为参数传递的回调方法。 它传递当前位置。 geolocationError (可选): 它是作为参数传递的回调方法。 当遇到任何错误时,它会执行。 geolocationOptions (可选): 它用于引用地理定位选项。 返回值String: 返回一个 watch id,它提供对 watch position 间隔的引用。 要停止监视位置的变化,应将 watch id 与 navigator.geolocation.clearWatch 一起使用。 示例geolocationOptions这是一个可选参数,用于自定义 Position 对象的检索。 { maximumAge: 2000, timeout: 6000, enableHighAccuracy: true }; 选项enableHighAccuracy: 通过使用此选项,我们可以获得一个提示,以便应用程序获得最佳结果。 默认情况下,设备会尝试使用基于网络的方法来检索 Position 对象。 要使用更准确的方法,我们必须将属性设置为 true。 timeout: 此选项指的是从调用 navigator.geolocation.getCurrentPosition 或 geolocation.watchposition 到执行相应的 geolocationSuccess 回调所允许通过的最大时间长度。 当在指定的时间内未调用 geolocationSuccess 回调方法时,PositionError.TIMEOUT 错误代码将从 geolocationError 回调方法传递。 maximumAge: 它指的是一个数字,该数字接受缓存位置,其存在时间不应超过以毫秒为单位表示的指定时间。 navigator.gelocation.clearWatch此选项的主要任务是停止监视由 watchID 参数引用的设备位置的任何变化。 参数watchID: 要清除 watchPosition 间隔,我们需要其 id。 此参数指的是一个包含此特定 id 的字符串值。 示例位置它主要指的是 position 坐标和由 geolocation API 创建的时间戳。 性质coords: 指的是一组地理坐标。 timestamp: 它创建 coords 的时间戳。 坐标它是一个附加到 Position 对象的对象。 在请求当前位置时,它可用于回调函数。 为了定义位置的地理坐标,它包括一组属性,如下所示 性质latitude: 它包含一个数字值,用于定义以十进制度数表示的位置的纬度。 longitude: 它包含一个数字值,用于定义以十进制度数表示的位置的经度。 altitude: 它定义了该位置高于以米为单位表示的椭球体的高度。 accuracy: 它用于定义纬度和经度坐标的精度水平。 以米为单位表示。 altitudeAccuracy: 它主要定义了高度坐标的精度水平。 以米为单位表示。 heading: 它表示行进方向。 它以相对于正北方向顺时针计数的度数指定。 speed: 它指的是一个数字值,用于定义设备的当前地面速度。 以米/秒为单位指定。 PositionError当使用 navigator.geolocation 遇到任何错误时,PositionError 对象将传递给 geolocationError 回调函数。 性质message: 它定义了错误消息。 code: 它是预定义的错误代码之一。 常量PositionError.PERMISSION_DENIED 当用户不想允许应用程序检索位置信息时,将返回此信息。 基本上,它主要取决于平台。 PositionError.POSITION_UNAVAILABLE 当设备未连接到网络或无法获得卫星定位时,设备将无法检索位置并返回此信息。 PositionError.TIMEOUT 当设备无法在 timeout(包含在 geolocationOptions 中)指定的时间内检索到位置时,将返回此错误。 当与 navigator.geolocation.watchPosition 一起使用时,可以在每个 timeout 毫秒重复将此错误传递给 geolocationError 回调。 下一个主题Cordova 插件 Vibration |
我们请求您订阅我们的新闻通讯以获取最新更新。