Android学习(20)-百度地图使用

本文详细介绍如何在Android应用中集成百度地图API,包括申请API Key、下载开发包及地图显示与定位等步骤。提供了完整的代码示例和必要的权限配置。

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

如何在自己的应用中使用百度地图呢?  下面将详细介绍一下。

1、 申请百度地图 API Key(现在审核时间比较长,目前尚未审核通过)

申请地址:http://developer.baidu.com/user/reg

创建应用地址:http://lbsyun.baidu.com/apiconsole/key/create

其中获取安全码的方法:


创建应用后可以获取到API Key: Snlfa9xrYnkPuDZEgEKEHGCO


2、下载百度地图开发包

下载地址:http://developer.baidu.com/map/sdkandev-download.htm

下载后将Lib中的内容加入到eclipse工程中:


3、百度地图的应用:可以直接参考http://developer.baidu.com/map/index.php?title=androidsdk/guide/basicmap,有详细的说明

(1)地图的显示

 在布局中加入MapView:

 <com.baidu.mapapi.map.MapView  
    	android:id="@+id/bmapView"  
   		android:layout_width="fill_parent"  
    	android:layout_height="fill_parent"  
    	android:clickable="true" />

在活动中代码如下:

public class MainActivity extends Activity {

	MapView mMapView = null;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);   
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
        //注意该方法要再setContentView方法之前实现  
        SDKInitializer.initialize(getApplicationContext());  
        setContentView(R.layout.activity_main);  
        //获取地图控件引用  
        mMapView = (MapView) findViewById(R.id.bmapView);
        
    }  
    @Override  
    protected void onDestroy() {  
        super.onDestroy();  
        //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理  
        mMapView.onDestroy();  
    }  
    @Override  
    protected void onResume() {  
        super.onResume();  
        //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理  
        mMapView.onResume();  
        }  
    @Override  
    protected void onPause() {  
        super.onPause();  
        //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理  
        mMapView.onPause();  
    }  
}

在配置文件中,配置权限如下:

        <uses-permission android:name="android.permission.GET_ACCOUNTS" />  
	<uses-permission android:name="android.permission.USE_CREDENTIALS" />  
	<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />  
	<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />  
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
	<uses-permission android:name="android.permission.INTERNET" />  
	<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />  
	<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  
	<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
	<uses-permission android:name="android.permission.READ_PHONE_STATE" />  
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
	<uses-permission android:name="android.permission.BROADCAST_STICKY" />  
	<uses-permission android:name="android.permission.WRITE_SETTINGS" />  
	<uses-permission android:name="android.permission.READ_PHONE_STATE" />
    

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        
<span style="color:#ff0000;">        <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="Snlfa9xrYnkPuDZEgEKEHGCO" /></span>
        
        <activity
            android:name="com.example.baidumap.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

之后,便可以看到百度地图了。


(2)定位到自己的位置。通过之前的代码获取经纬度,然后修改成以下代码就可以了。

    MapView mMapView = null;
    BaiduMap mBaiduMap = null;
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);   
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
        //注意该方法要再setContentView方法之前实现  
        SDKInitializer.initialize(getApplicationContext());  
        setContentView(R.layout.activity_main);  
        //获取地图控件引用  
        mMapView = (MapView) findViewById(R.id.bmapView);
        
        
      //定义Maker坐标点  
        LatLng point = new LatLng(39.963175, 116.400244);  
        //构建Marker图标  
        BitmapDescriptor bitmap = BitmapDescriptorFactory  
            .fromResource(R.drawable.ic_launcher);  
        //构建MarkerOption,用于在地图上添加Marker  
        OverlayOptions option = new MarkerOptions()  
            .position(point)  
            .icon(bitmap);  
        //在地图上添加Marker,并显示  
        mBaiduMap = mMapView.getMap();
        mBaiduMap.addOverlay(option);
    }  






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值