使用 gomobile 访问地理位置数据

Access geolocation data using gomobile

我可以使用本机 gomobile 应用程序访问 phone 的地理位置吗?

我看到了对传感器数据的实验支持here,但对设备的实际纬度、经度一无所知。

我之前没有应用程序开发经验,目前正在学习 Go。

据我所知,目前还没有现成的解决方案来以独立于平台的方式访问 Android 和 iOS 上的位置。但从理论上讲,您可以使用 gomobile 工具制作单独的包来为每个平台生成绑定。

例如,在 Android 上,您可以使用如下内容:

import "Java/android/content/Context"
import "Java/android/location/LocationManager"

locationManager := ctx.GetSystemService(Context.LOCATION_SERVICE)
// nil check omitted.
location := locationManager.GetLastKnownLocation(LocationManager.GPS_PROVIDER)
// nil check omitted.
lat := location.GetLatitude()
lng := location.GetLongitude()

其中 ctx 是您在其生命周期回调之一中收到的上下文(activity、服务等)。

您也可以使用其他提供商(网络、融合)。