安卓百度地图开发

本文详细介绍了如何在安卓应用中集成百度地图,包括申请API key、配置开发环境、实现地图显示、定位到当前位置以及导航功能。首先,通过keytool生成API key并在百度地图开发平台注册应用。接着,下载并导入百度地图SDK,设置必要的权限。然后,通过MapView显示地图,使用LocationClient获取并显示当前位置。最后,展示了如何实现导航功能,包括起点和终点的设定,以及调用导航引擎进行路线规划。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安卓百度地图开发文档

1.      申请API key

利用jdk工具生成,进入jdk 的bin目录下,
输入keytool -genkey -alias androiddebugkey-keyalg RSA -validity 20000 -keystore debug.keystore -storepass android-keypass android,并根据中文提升输入基本信息(测试key可以随便填)。最后输入y确认,最后可以在jdk的bin目录下找到生成的debug.keystore。

之后再输入keytool -list -v-keystore debug.keystore可以查看生成的证书信息,在百度地图开发平台上创建新的应用,输入相应的SHAI信息,创建Android应用,即可生成API key。

2.      配置百度地图开发环境

(1)在http://lbsyun.baidu.com/index.php?title=sdk/download&action#selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool,mapsdk_radar链接下下载相应的开发包。下载完将压缩包中的jar包导入到工程目录下的libs文件夹中,在src/main目录下新建jniLibs目录,将所有的so文件放到这个目录中,新建assets目录,将剩下的assets目录下的所有资源放到这个目录下。

(2)在Application中配置自己的API key

<meta-data
   
android:name="com.baidu.lbsapi.API_KEY"
   
android:value="申请的API key" />

 

(3)配置所需要的权限信息:

1.   !-- 百度API所需权限 -->  

2.       <uses-permission android:name="android.permission.GET_ACCOUNTS" />  

3.       <uses-permission android:name="android.permission.USE_CREDENTIALS" />  

4.       <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />  

5.       <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />  

6.       <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  

7.       <uses-permission android:name="android.permission.INTERNET" />  

8.       <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />  

9.       <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  

10.      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  

11.      <uses-permission android:name="android.permission.READ_PHONE_STATE" />  

12.      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  

13.      <uses-permission android:name="android.permission.BROADCAST_STICKY" />  

14.      <uses-permission android:name="android.permission.WRITE_SETTINGS" />  

15.      <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 

(4)注册定位的service

<service
   
android:name="com.baidu.location.f"
   
android:enabled="true"
   
android:process=":remote">
    <intent-filter>
        <action
android:name="com.baidu.location.service_v2.2"></action>
    </intent-filter>
</service>

3.      多种功能的使用

(1)MapView的使用(显示地图信息)

布局文件:

<com.baidu.mapapi.map.MapView
   
android:layout_width="match_parent"
   
android:layout_height="match_parent"
   
android:id="@+id/mapView">
</com.baidu.mapapi.map.MapView>

MainActivity:

public class MainActivity extends AppCompatActivity {
   
private MapView mapView;
    private
BaiduMap map;

   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
       
SDKInitializer.initialize(getApplicationContext());
       
setContentView(R.layout.activity_main);
       
mapView=(MapView)findViewById(R.id.mMap);
   
}

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

   
@Override
   
protected void onDestroy() {
       
super.onDestroy();
       
mapView.onDestroy();
   
}

   
@Override
   
protected void onPostResume() {
       
super.onPostResume();
       
mapView.onResume();
   
}
}

 

(2)让地图定位到自己的位置

public class MainActivity extends AppCompatActivity {
   
private MapView mapView;
    private
BaiduMap map;
    private
LocationClient locationClient;
    private boolean
isFirstLocation=true;


   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
       
SDKInitializer.initialize(getApplicationContext());
       
//定位自己的位置,成功会回调MylocationListener中的onReceiveLocation方法
       
locationClient=new LocationClient(getApplicationContext());
       
locationClient.registerLocationListener(new MyLocationListener());

       
setContentView(R.layout.activity_main);
       
mapView=(MapView)findViewById(R.id.mMap);
       
map=mapView.getMap();

   
}
   
//让地图移动到自己的位置,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值