【发布时间】:2017-07-17 05:39:06
【问题描述】:
【问题讨论】:
标签: go geolocation gomobile
【问题讨论】:
标签: go geolocation gomobile
AFAIK 目前还没有现成的解决方案可以在 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 是您在其生命周期回调之一中收到的上下文(活动、服务等)。
您也可以使用其他提供商(网络、融合)。
【讨论】:
Java/android/content/Context 和 Java/android/location/LocationManager 来自哪里?