最近自己在学习百度地图和讯飞语音,这里自己整理点导航方面的。我用的是Android studio 可能和eclipse有点不一样但大体差不多。
一.主要文件
1.如何获取密钥等步骤自行查询百度官网。。。这里贴需要的主要文件
2.lib包里面放着百度地图需要用的类
我个人不喜欢把jar包和so方法放一块,但是喜欢放一块的也行。要在bulid.gradle里面声明去哪找so方法
3.这里是需要的权限,我是Android5.0系统这个以上的系统要重写下权限获取
<!-- 连接网络权限,用于执行云端语音能力 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- 获取手机录音机使用权限,听写、识别、语义理解需要用到此权限 --> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 这个权限用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于读取手机当前的状态 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
4.百度地图的key和service
service必须要在jar包添加进去以后才有效不然都是报错(f就是包里面的一个类)
5.初始化
SDK的初始化一定要在setContentView之前!
二.java代码和布局代码
1.布局:
这个是导航的诱导界面,里面有个这里没有给图片报错删掉那一行就行了 不影响功能
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="320dp" android:layout_height="260dp" android:orientation="vertical" android:layout_gravity="center" android:gravity="center"> <ImageView android:id="@+id/enlarge_view_img" android:layout_height="match_parent" android:layout_width="match_parent" android:visibility="gone"/> <LinearLayout android:id="@+id/route_guide_ll" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_gravity="center"> <LinearLayout android:id="@+id/time_distance_ll" android:layout_width="match_parent" android:layout_height="30dp" android:layout_gravity="center" android:orientation="horizontal" android:gravity="center"> <TextView android:id="@+id/remain_time_tx" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:layout_marginRight="10dp"/> <TextView android:id="@+id/remain_distance_tx" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" /> <TextView android:id="@+id/current_speed_tx" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="100km/h" android:textSize="14sp" android:layout_marginLeft="10dp" android:gravity="center" /> </LinearLayout> <RelativeLayout android:id="@+id/simple_guide_rl" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp"> <LinearLayout android:id="@+id/simple_go_ll" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_centerHorizontal="true"> <ImageView android:id="@+id/turn_img" android:layout_width="30dp" android:layout_height="30dp" android:background="@drawable/navi_guide_turn" /> <TextView android:id="@+id/remain_distance" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_toRightOf="@id/turn_img" android:gravity="center" android:layout_marginLeft="8dp"/> <TextView android:id="@+id/go_tx" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_toRightOf="@id/remain_distance" android:layout_marginLeft="8dp" android:gravity="center" android:text="前往" /> </LinearLayout> <TextView android:id="@+id/next_road_tx" android:layout_width="wrap_content" android:layout_height="20dp" android:layout_marginTop="20dp" android:layout_centerHorizontal="true" android:layout_below="@id/simple_go_ll" /> </RelativeLayout> <RelativeLayout android:id="@+id/along_rl" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp"> <LinearLayout android:id="@+id/along_meter_ll" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:orientation="horizontal"> <TextView android:id="@+id/along_wrods_tx" android:layout_width="wrap_content" android:layout_height="30dp" /> <TextView android:id="@+id/along_meters_tx" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_marginLeft="30dp" /> </LinearLayout> <TextView android:id="@+id/current_road_tx" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_below="@id/along_meter_ll" /> </RelativeLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android<