Android-百度地图定位实现仿钉钉签到打卡功能(附源码)

该博客详细介绍了如何在Android应用中利用百度地图API实现定位功能,并仿照钉钉创建签到打卡的UI,包括地图上的定位、方向感应、设置定位选项等关键步骤。同时,还展示了如何设置打卡目标范围圈、地图文字和marker覆盖物。
摘要由CSDN通过智能技术生成

@Override
public void onSensorChanged(SensorEvent sensorEvent) {
double x = sensorEvent.values[SensorManager.DATA_X];
if (Math.abs(x - lastX) > 1.0) {
mCurrentDirection = (int) x;
locData = new MyLocationData.Builder()
// 此处设置开发者获取到的方向信息,顺时针0-360
.direction(mCurrentDirection).latitude(mCurrentLat)
.longitude(mCurrentLon).build();
mBaiduMap.setMyLocationData(locData);
}
lastX = x;
}

@Override
public void onAccuracyChanged(Sensor sensor, int i) {

}

/**

  • 初始化地图
    */
    private void initBaiduMap() {
    mMapView = (MapView) findViewById(R.id.mapview);
    mBaiduMap = mMapView.getMap();
    mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
    mBaiduMap.setMyLocationEnabled(true);//开启定位图层
    mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);//获取传感器管理服务
    }

@Override
protected void onResume() {
super.onResume();
mMapView.onResume();
//为系统的方向传感器注册监听器
mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
SensorManager.SENSOR_DELAY_UI);
}

@Override
protected void onPause() {
super.onPause();
mMapView.onPause();
}

@Override
protected void onStop() {
super.onStop();
//取消注册传感器监听
mSensorManager.unregisterListener(this);
}

###第二步:开启定位

/***

  • 定位选项设置
  • @return
    */
    public void getLocationClientOption() {
    mOption = new LocationClientOption();<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值