Android高德地图小图标跟随手机旋转实现

 时间:2024-10-12 12:17:18

随着移动互联的发展越来越多的智能手机应用都接入了地图功能,高德地图提供了一套免费的完善的SDK使得接入地图及导航功能更加方便快捷。智能手机的传感器将外部的状态转换成模拟的数据,从而实现更丰富的功能。陀螺仪传感器加之地图图标的方向指示使得定位及导航更加形象易懂。定位图标跟随手机旋转起基本原理就是根据陀螺仪取到的旋转角度讲图标进行旋转。

工具/原料

Android Studio、高德地图SDK

PC、带有陀螺仪的Android手机

准备工作

1、在高德地图开发网站申请APIKEY,下载SDK。高德地图定位SDK和地图SDK分为两个jar包,两个jar包都需要导入到工程中。

代码部分

1、初始化高德地图、设置定位图标样式private AMap aMap;aMap = mapView.getMap();//获取地图实例MyLocationStyle myLocationStyle = new MyLocationStyle();myLocationStyle.myLocationIcon(BitmapDescriptorFactory.fromResource(R.drawable.location_map));// 设置小蓝点的图标aMap.setMyLocationStyle(myLocationStyle);//设置定位图标样式

2、初始化陀螺仪传感器,注册回调函数private SensorManager mSM;private Sensor mSensor;mSM = (SensorManager) getSystemService(SENSOR_SERVICE);mSensor = mSM.getDefaultSensor(Sensor.TYPE_ORIENTATION);mSM.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_UI);//注册回调函数

3、实现陀螺仪状态变化回调函数@Overridepublic vo坡纠课柩id onSensorChanged(SensorEv髫潋啜缅ent event) { if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) { float degree = event.values[0]; float bearing = aMap.getCameraPosition().bearing; if (degree + bearing > 360) aMap.setMyLocationRotateAngle(degree + bearing - 360);// 设置小蓝点旋转角度 else aMap.setMyLocationRotateAngle(degree + bearing);// }}

  • vivox70如何关闭应用图标的数字角标
  • 百度地图如何在播放导航的时候暂停音乐
  • 华为手机上的高德地图怎么开启共享单车锁屏通知
  • 用S换机助手怎样将旧手机上的内容传到Note8上
  • 魅族18如何通过锁屏访问控制中心
  • 热门搜索
    文明手抄报 手抄报图画 英语手抄报简单又漂亮 数学手抄报内容 汤姆索亚历险记手抄报 植树节手抄报简单好看 民族团结手抄报 节约手抄报 安全手抄报内容 春天手抄报