使用百度地图API
2015-09-29 11:52
561 查看
百度地图提供了丰富的API, 可以使我们很方便的调用百度地图实现定位和导航功能。
1. 申请百度开发者账号
要使用百度地图的API,首先可以登录百度开发者的首页(http://developer.baidu.com/),注册一个百度的开发者账号。在开发者首页我们可以看到众多的百度提供的开发工具。选择百度地图,进入百度地图开放平台首页(http://developer.baidu.com/map/)
![](https://img-blog.csdn.net/20150929115924179)
2. 申请API Key
接下来要申请API Key。只有申请了API Key 才可以在自己的应用中使用百度地图。可以点击“申请密钥”, 也可以点击页面右上角的“API控制台”
![](https://img-blog.csdn.net/20150929124127499)
在这里会显示所有你已经申请过的API Key。你可以点击“创建应用”来创建一个新的API Key。
![](https://img-blog.csdn.net/20150929124650036)
应用名称可以随便填;应用类型选择Android SDK;安全码是 数字签名+;+包名。数字签名可以通过Eclipse中的Windows->Preferences->Android->Build 中查看到;包名就是应用程序所在的包。
![](https://img-blog.csdn.net/20150929125232646)
3. 下载百度地图SDK
![](https://img-blog.csdn.net/20150929125623206)
如上图,进入SDK下载页面后,选择需要的模块下载。我在这里只下载了地图的功能。
![](https://img-blog.csdn.net/20150929130055013)
下载成功以后应该是一个压缩包,解压以后如图所示
![](https://img-blog.csdn.net/20150929130337047)
将其中的.jar 文件和armeabi 目录拷贝到项目的libs目录下就可以了。
4. 调用百度地图API
如何在自己的项目中调用百度地图的API, 百度的Wiki 上有详细的说明http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap
1)首先就是先向application 中添加密钥
<application>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
</application>
上面value 属性引号中的内容用自己刚刚申请的AK替换。
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" />
3)接下来在布局中添加地图控件
<com.baidu.mapapi.map.MapView
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true" />
4)在Activity中初始化SDK
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);
}
}
5)创建地图Activity,管理生命周期
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();
}
}
至此,百度地图就创建完毕了。
注:在一些较老的资料上提到用BMapManager 创建地图,但这种方法好像在最新版本的SDK中被放弃了。。。已经找不到BMapManager 的类了。
1. 申请百度开发者账号
要使用百度地图的API,首先可以登录百度开发者的首页(http://developer.baidu.com/),注册一个百度的开发者账号。在开发者首页我们可以看到众多的百度提供的开发工具。选择百度地图,进入百度地图开放平台首页(http://developer.baidu.com/map/)
2. 申请API Key
接下来要申请API Key。只有申请了API Key 才可以在自己的应用中使用百度地图。可以点击“申请密钥”, 也可以点击页面右上角的“API控制台”
在这里会显示所有你已经申请过的API Key。你可以点击“创建应用”来创建一个新的API Key。
应用名称可以随便填;应用类型选择Android SDK;安全码是 数字签名+;+包名。数字签名可以通过Eclipse中的Windows->Preferences->Android->Build 中查看到;包名就是应用程序所在的包。
3. 下载百度地图SDK
如上图,进入SDK下载页面后,选择需要的模块下载。我在这里只下载了地图的功能。
下载成功以后应该是一个压缩包,解压以后如图所示
将其中的.jar 文件和armeabi 目录拷贝到项目的libs目录下就可以了。
4. 调用百度地图API
如何在自己的项目中调用百度地图的API, 百度的Wiki 上有详细的说明http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap
1)首先就是先向application 中添加密钥
<application>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
</application>
上面value 属性引号中的内容用自己刚刚申请的AK替换。
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" />
3)接下来在布局中添加地图控件
<com.baidu.mapapi.map.MapView
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true" />
4)在Activity中初始化SDK
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);
}
}
5)创建地图Activity,管理生命周期
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();
}
}
至此,百度地图就创建完毕了。
注:在一些较老的资料上提到用BMapManager 创建地图,但这种方法好像在最新版本的SDK中被放弃了。。。已经找不到BMapManager 的类了。
相关文章推荐
- Android实现表情 抓取新浪表情
- 详解Android解析Xml的三种方式——DOM、SAX以及XMLpull
- JS中引用百度地图并将百度地图的logo和信息去掉
- android开发环境遇到adt无法启动的问题分析及解决方法
- Android开发 旋转屏幕导致Activity重建解决方法
- Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)
- Android开发技巧之ViewStub控件惰性装载
- js调用百度地图及调用百度地图的搜索功能
- 基于Arcgis for javascript实现百度地图ABCD marker的效果
- 微信企业号开发之微信考勤百度地图定位
- 百度地图自定义控件分享
- 如何调用百度地图API实现手机自动定位
- 分享10个很棒的学习Android开发的网站
- android开发之横向滚动/竖向滚动的ListView(固定列头)
- Android开发技巧之我的菜单我做主(自定义菜单)
- 百度地图API使用方法详解
- javascript实现百度地图鼠标滑动事件显示、隐藏
- 百度地图api如何使用
- 比例尺、缩略图、平移缩放之百度地图添加控件方法
- Android下如何使用百度地图sdk