Android 使用百度LBS SDK(五),嵌入式音视频开发

这篇博客主要介绍了如何在Android应用中使用百度地图LBS SDK,涵盖定位模式切换(普通、跟随、罗盘)、指南针设置以及离线地图的SD卡导入。首先展示了如何根据用户选择切换定位模式,并设置指南针显示。接着,重点讲述了如何检测和导入SD卡上的离线地图数据,包括检查SD卡路径、获取离线地图数量及文件复制过程。最后提到了在线更新离线地图的相关操作。
摘要由CSDN通过智能技术生成

break;

default:

break;

}

break;

2.定位模式:普通/跟随/罗盘

**

**

case R.id.layoutLocateMode:

switch (currentMode) {

case NORMAL:

textLocateMode.setText(“跟随”);

currentMode = LocationMode.FOLLOWING;

baiduMap.setMyLocationConfigeration(new MyLocationConfiguration(

currentMode, true, null));

break;

case COMPASS:

textLocateMode.setText(“普通”);

currentMode = LocationMode.NORMAL;

baiduMap.setMyLocationConfigeration(new MyLocationConfiguration(

currentMode, true, null));

break;

case FOLLOWING:

textLocateMode.setText(“罗盘”);

currentMode = LocationMode.COMPASS;

baiduMap.setMyLocationConfigeration(new MyLocationConfiguration(

currentMode, true, null));

break;

}

break;

3.设置指南针

需要在地图加载完毕后设置才有效,且当地图上方是正北的时候不显示:

// 地图加载完毕回调

baiduMap.setOnMapLoadedCallback(new OnMapLoadedCallback() {

@Override

public void onMapLoaded() {

UiSettings uiSettings = baiduMap.getUiSettings();

// uiSettings.setCompassEnabled(false); // 是否显示指南针

// 设置指南针的位置,在 onMapLoadFinish 后生效

uiSettings.setCompassPosition(new Point(30, 380));

// uiSettings.setOverlookingGesturesEnabled(false); //设置是否允许俯视手势

// uiSettings.setRotateGesturesEnabled(false); //设置是否允许旋转手势

// uiSettings.setScrollGesturesEnabled(false); //设置是否允许拖拽手势

// uiSettings.setZoomGesturesEnabled(false); //设置是否允许缩放手势

}

});

4.SD卡导入离线地图

检测两张内存卡的以下位置是否存在离线地图:

private final static String[] pathFrom = {

“/storage/sdcard1/BaiduMapSDK/vmp/l/”,

“/storage/sdcard1/BaiduMap/vmp/l/”,

“/storage/sdcard2/BaiduMapSDK/vmp/l/”,

“/storage/sdcard2/BaiduMap/vmp/l/” };

package com.tchip.baidunavi.ui.activity;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import com.baidu.mapapi.map.offline.MKOLUpdateElement;

import com.baidu.mapapi.map.offline.MKOfflineMap;

import com.baidu.mapapi.map.offline.MKOfflineMapListener;

import com.tchip.baidunavi.Constant;

import com.tchip.baidunavi.R;

import com.tchip.baidunavi.util.MyLog;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.content.DialogInterface;

import android.content.DialogInterface.OnClickListener;

import android.content.Intent;

import android.graphics.Color;

import android.net.Uri;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.util.Log;

import android.view.KeyEvent;

import android.view.View;

import android.view.Window;

import android.view.WindowManager;

import android.widget.Button;

import android.widget.ProgressBar;

import android.widget.RelativeLayout;

import android.widget.TextView;

public class OfflineBaiduMapUpdateActivity extends Activity {

private final static String[] pathFrom = {

“/storage/sdcard1/BaiduMapSDK/vmp/l/”,

“/storage/sdcard1/BaiduMap/vmp/l/”,

“/storage/sdcard2/BaiduMapSDK/vmp/l/”,

“/storage/sdcard2/BaiduMap/vmp/l/” };

private ProgressBar progressCopy;

private TextView textHint, textDetail;

private RelativeLayout layoutBack, layoutUpdateOnline;

private Button btnStart, btnScan;

private boolean hasOfflineMap = false;

private boolean isActivityShow = true;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.activity_update_map);

initialLayout();

// statrtScanThread();

setMapNumberText();

}

private void initialLayout() {

progressCopy = (ProgressBar) findViewById(R.id.progressCopy);

progressCopy.setVisibility(View.GONE);

textHint = (TextView) findViewById(R.id.textHint);

// textHint.setText(“正在扫描SD卡是否有离线地图”);

textDetail = (TextView) findViewById(R.id.textDetail);

layoutBack = (RelativeLayout) findViewById(R.id.layoutBack);

layoutBack.setOnClickListener(new MyOnClickListener());

btnStart = (Button) findViewById(R.id.btnStart);

btnStart.setOnClickListener(new MyOnClickListener());

btnStart.setVisibility(View.VISIBLE);

btnScan = (Button) findViewById(R.id.btnScan);

btnScan.setOnClickListener(new MyOnClickListener());

btnS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值