使用 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、服务等)。
您也可以使用其他提供商(网络、融合)。
我可以使用本机 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、服务等)。
您也可以使用其他提供商(网络、融合)。