@capacitor/geolocation
地理定位 API 提供了简便的方法,用于通过 GPS 获取和追踪设备的当前位置,并在可用时提供海拔、朝向和速度信息。
安装
npm install @capacitor/geolocation
npx cap sync
iOS
Apple 要求在 Info.plist
中为位置信息指定隐私描述:
NSLocationAlwaysAndWhenInUseUsageDescription
(隐私 - 始终和在应用使用时访问位置的使用说明
)NSLocationWhenInUseUsageDescription
(隐私 - 在应用使用时访问位置的使用说明
)
[!注意] 此 Capacitor 插件不直接支持后台地理定位。但它依赖于
ion-ios-geolocation
,该组件可以在后台报告 位置。因此,Apple 要求你在Info.plist
中包含NSLocationAlwaysAndWhenInUseUsageDescription
条目。由于此权限 提示不会向用户显示,你可以安全地使用与NSLocationWhenInUseUsageDescription
相同的描述字符串。
阅读 iOS 指南 中的 配置 Info.plist
部分,了解更多关于在 Xcode 中设置 iOS 权限的信息。
Android
此插件需要将以下权限添加到你的 AndroidManifest.xml
:
<!-- 地理定位插件 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />
前两个权限请求获取粗略和精确的位置数据,最后一行是可选的,但如果你的应用需要 GPS 才能运行,则是必需的。你也可以省略它,但请注意,这可能导致你的应用安装在缺少 GPS 硬件的设备上。
阅读 Android 指南 中的 设置权限 部分,了解更多关于设置 Android 权限的信息。
API
有关错误代码列表,请参阅 错误
getCurrentPosition(...)
getCurrentPosition(options?: PositionOptions | undefined) => Promise<Position>
获取设备的当前 GPS 位置
参数 | 类型 |
---|---|
options |
|
返回值:
Promise<Position>
自版本: 1.0.0
watchPosition(...)
watchPosition(options: PositionOptions, callback: WatchPositionCallback) => Promise<CallbackID>