您的位置:首页 > 其它

百度地图(一)

2015-11-26 17:11 232 查看
一、获取百度授权

首先,注册成为一名百度开发者,http://developer.baidu.com/,右上角的LBS就是百度地图的链接

进入百度LBS后,我们需要申请一个api key,凭借这个我们就可以获取到百度地图的接口,点击右上角API控制台,进入http://lbsyun.baidu.com/apiconsole/key,就可以看到你创建的应用



如果是第一次,就点击创建应用,按照提示填写,其中数字签名的获取方式为:打开eclipse的preference,打开Android->Build,有一项是SHA1 fingerprint,后面的值就是数字签名了。包名可以在AndroidManifest.xml中复制package的值,其他的方法可以自行百度。创建完成后,百度就会给你一个api key,这就是你的应用跟百度联系的一把钥匙。

二、下载百度地图sdk

工欲善其事,必先利其器。要想使用百度提供的各种服务,我们就要下载百度提供的开发包,然后就可以调用里面的方法和类。下载地址http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download,可以选择自定义下载或下载全部。下载完成后解压将libs中的文件导入到你的项目中。

三、开发前的配置

在正式开发之前,我们需要在AndroidManifest.xml中添加秘钥和所需权限

(1)在application中添加开发密钥

<application>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
</application>


(2)添加所需权限

<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.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />


四、Hello BaiduMap

接下来,就正式的进入开发阶段了,要让百度地图在你的手机中显示出来。

1.在布局xml文件中添加地图控件

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


2.在应用程序创建时初始化SDK引用的Context全局变量。

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
}
}


3.创建地图Activity,管理地图生命周期

public class MainActivity extends Activity {
MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
//获取地图控件引用
mMapView = (MapView) findViewById(R.id.bmapView);
}
@Override
protected void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mMapView.onPause();
}
}


完成以上步骤后,运行程序,就可以在手机中显示一张北京市地图。

五、基础地图功能

1.地图类型

百度地图Android SDK为您提供了两种类型的地图资源(普通矢量地图和卫星图),开发者可以利用BaiduMap中的mapType()方法来设置地图类型。核心代码如下:

mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
//普通地图
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
//卫星地图
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);


2.实时交通图

mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
//开启交通图
mBaiduMap.setTrafficEnabled(true);


3.百度城市热力图

mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
//开启交通图
mBaiduMap.setBaiduHeatMapEnabled(true);


百度地图最新功能和示例可以到百度开发者中心学习:http://developer.baidu.com/map/index.php?title=androidsdk/guide/basicmap
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: