码迷,mamicode.com
首页 > 移动开发 > 详细

Android之旅十八 百度地图环境搭建

时间:2014-10-04 20:38:37      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:des   android   style   blog   http   color   io   os   使用   

在android中使用百度地图,我们可以先看看百度地图相应的SDK信息:http://developer.baidu.com/map/index.php?title=androidsdk,它里面基本上有关于android中的所有配置、api调用等操作方法,下面我们来看看百度地图在android中环境的搭建步骤:我们这里使用的百度地图版本为

Android SDK v3.1.1,版本不同,里面的API可能不一样,所以希望大家能够注意!!


一、申请密钥,无论是开发谷歌地图还是百度地图我们都需要申请密钥,当然申请之前我们还得注册成为百度的用户,否则是申请不到的,密钥的android版申请步骤:http://developer.baidu.com/map/index.php?title=androidsdk/guide/key,注意里面配置的安全码不能随便填写,否则会出现看不到地图等一系列的问题,安全码必须是全码的组成规则为:Android签名证书的sha1值+“;”+packagename(即:数字签名+分号+包名),关于sha1签名证书的值的获取,里面有相应的操作方法,填写完相应信息后,就会出现一个相应的24位的ak,就是我们的密钥,我们得把它记录下来;

二、下载android版百度地图SDK:http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download,建议下载全部,里面包含开发包、文档和示例,也可以在我的博客资源中进行下载:http://download.csdn.net/detail/harderxin/8002031


三、新建android工程项目,将下载的libs包文件拷入到项目中,其中baidumapapi_v3_1_1.jar表示开发百度地图必须使用的包,而liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发者可根据实际需求自行添加。将其jar包引入到项目工程中,拷贝后的项目包如下图:

bubuko.com,布布扣


四、打开我们项目的AndroidMainifest.xml文件,在Application下面将我们在上面得到的密钥放入到meta信息中:

<application>  
    <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="开发者 key" />  
</application>
在AndroidMainifest.xml中添加百度相关权限:

	<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" />
添加对屏幕的支持:

  <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="false"
        android:resizeable="true"
        android:smallScreens="true" />

五、在main.xml中添加百度地图显示控件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

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

</LinearLayout>

六、在MainActivity中引入百度地图API,编写相关代码:

package com.xin.activity;

import android.app.Activity;
import android.os.Bundle;

import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapView;

public class MainActivity extends Activity {
	private MapView mMapView = null;
	private BaiduMap baiduMap;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 在使用SDK各组件之前初始化context信息,传入ApplicationContext
		// 注意该方法要再setContentView方法之前实现
		SDKInitializer.initialize(getApplicationContext());
		setContentView(R.layout.main);
		// 获取地图控件引用
		mMapView = (MapView) findViewById(R.id.bmapView);
		baiduMap=mMapView.getMap();
		//设置地图类型为普通地图
		//baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
		//设置地图类型为卫星地图
		//baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
		//开启交通图
		baiduMap.setTrafficEnabled(true);
	}

	@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();
	}
<span style="font-size:18px;">}</span>
七、运行项目,在我们的模拟器上出现地图显示,即环境搭建成功!!

bubuko.com,布布扣

我在代码中控制了显示交通地图:baiduMap.setTrafficEnabled(true);所以会出现这样的效果,百度里面提供了很多api供我们参考使用,例如标注、覆盖物、公交查询等信息,我们可以根据自己的需要来编写相关代码,这里的环境搭建只起到了一个抛砖引玉的作用,以后的拓展,还得根据项目需求自己去设计实现:

百度在线API:http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_1_1/

百度基础地图:http://developer.baidu.com/map/index.php?title=androidsdk/guide/basicmap

Android之旅十八 百度地图环境搭建

标签:des   android   style   blog   http   color   io   os   使用   

原文地址:http://blog.csdn.net/harderxin/article/details/39780525

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!