高德地图导航SDK 我使用官方的导航demo,想要在官方导航demo的基础上获取导航过程中的自车(蓝色箭头)实时位置,并且将位置数据保存下来,要怎么实现?求大家帮忙!也可以加QQ1979860295。求赐教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 官方的Demo说的很清楚了,如果只是记录位置信息用2D就可以了.蓝色箭头3D地图自带,不过不建议使用3d,因为会导致项目过大。 private fun initGDMap() { //声明定位回调监听器 val mLocationListener = AMapLocationListener(this) //初始化定位 mLocationClient = AMapLocationClient(applicationContext) //设置定位回调监听 mLocationClient?.setLocationListener(mLocationListener) //初始化AMapLocationClientOption对象 mLocationOption = AMapLocationClientOption() //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。 mLocationOption?.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy //给定位客户端对象设置定位参数 //设置定位间隔,单位毫秒,默认为2000ms,最低1000ms。 //mLocationOption?.interval = 1000 * 60 mLocationClient?.setLocationOption(mLocationOption) //启动定位 //mLocationClient?.startLocation() } override fun invoke(amapLocation: AMapLocation) { if (amapLocation != null) { if (amapLocation.errorCode == 0) { this.amapLocation = amapLocation locationListener?.LocationSuccess(amapLocation) mLocationClient?.stopLocation() amapLocation.locationType//获取当前定位结果来源,如网络定位结果,详见定位类型表 amapLocation.latitude//获取纬度 amapLocation.longitude//获取经度 amapLocation.accuracy//获取精度信息 amapLocation.address//地址,如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。 amapLocation.country//国家信息 amapLocation.province//省信息 amapLocation.city//城市信息 amapLocation.district//城区信息 amapLocation.street//街道信息 amapLocation.streetNum//街道门牌号信息 amapLocation.cityCode//城市编码 amapLocation.adCode//地区编码 amapLocation.aoiName//获取当前定位点的AOI信息 amapLocation.buildingId//获取当前室内定位的建筑物Id amapLocation.floor//获取当前室内定位的楼层 amapLocation.gpsAccuracyStatus//获取GPS的当前状态 //获取定位时间 val df = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") val date = Date(amapLocation.time) df.format(date) Log.e("AmapError", "location:" + amapLocation.getCity() + "=======" + amapLocation.getDistrict() + "=======" + amapLocation.getStreet() + "=======") EventBus.getDefault().postSticky(LocationEvent(amapLocation)) } else { //定位失败时,可通过ErrCode(错误码)信息来确定失败的原因,errInfo是错误信息,详见错误码表。 Log.e("AmapError", "location Error, ErrCode:" + amapLocation.getErrorCode() + ", errInfo:" + amapLocation.getErrorInfo()) } } } 关于android中接受webservice转化json对象的问题~ GestureOverlayView自动删除输入的手势 新手求问Android界面开发疑问 ProgressBar 颜色问题~~~怎样改变它的颜色呢? android编程 怎样判断回铃和忙音 android 视频播放问题 如何显示一帧视频,除了bitmap之外的方法. 循环显示的问题,求指点。(急用) 多个Activity怎么绑定到同一个Service android开发闪退 关于Vitamio中VideoView的使用 android 压缩图片后得到二进制流数据很多是什么情况 且打印不全
private fun initGDMap() {
//声明定位回调监听器
val mLocationListener = AMapLocationListener(this)
//初始化定位
mLocationClient = AMapLocationClient(applicationContext)
//设置定位回调监听
mLocationClient?.setLocationListener(mLocationListener)
//初始化AMapLocationClientOption对象
mLocationOption = AMapLocationClientOption()
//设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。
mLocationOption?.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy
//给定位客户端对象设置定位参数
//设置定位间隔,单位毫秒,默认为2000ms,最低1000ms。
//mLocationOption?.interval = 1000 * 60
mLocationClient?.setLocationOption(mLocationOption)
//启动定位
//mLocationClient?.startLocation()
}
override fun invoke(amapLocation: AMapLocation) {
if (amapLocation != null) {
if (amapLocation.errorCode == 0) {
this.amapLocation = amapLocation
locationListener?.LocationSuccess(amapLocation)
mLocationClient?.stopLocation()
amapLocation.locationType//获取当前定位结果来源,如网络定位结果,详见定位类型表
amapLocation.latitude//获取纬度
amapLocation.longitude//获取经度
amapLocation.accuracy//获取精度信息
amapLocation.address//地址,如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。
amapLocation.country//国家信息
amapLocation.province//省信息
amapLocation.city//城市信息
amapLocation.district//城区信息
amapLocation.street//街道信息
amapLocation.streetNum//街道门牌号信息
amapLocation.cityCode//城市编码
amapLocation.adCode//地区编码
amapLocation.aoiName//获取当前定位点的AOI信息
amapLocation.buildingId//获取当前室内定位的建筑物Id
amapLocation.floor//获取当前室内定位的楼层
amapLocation.gpsAccuracyStatus//获取GPS的当前状态
//获取定位时间
val df = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
val date = Date(amapLocation.time)
df.format(date)
Log.e("AmapError", "location:"
+ amapLocation.getCity() + "======="
+ amapLocation.getDistrict() + "======="
+ amapLocation.getStreet() + "=======")
EventBus.getDefault().postSticky(LocationEvent(amapLocation))
} else {
//定位失败时,可通过ErrCode(错误码)信息来确定失败的原因,errInfo是错误信息,详见错误码表。
Log.e("AmapError", "location Error, ErrCode:"
+ amapLocation.getErrorCode() + ", errInfo:"
+ amapLocation.getErrorInfo())
}
}
}