您的位置:首页 > 移动开发 > Android开发

Android位置服务--BaiduMap的使用(1)

2016-04-17 21:13 525 查看
本博客转自/article/1459661.html

同时参考了/article/8863218.html

先上效果图



这里实现了简单的地图显示,同时自带了放大和缩小按键,下面我们就来看如何实现的吧。

如何获得BaiduMap SDK

  要使用百度地图,首先我们要获得baidu的Sdk,那么如何去获得呢?首先你要先有一个Baidu的账号,这里胡藏剑账号不再描述。如何equest获取Baidu地图开发工具,看下面步骤:

  

1. 首先进入百度地图API的官网。



点击“开发——>百度地图SDK”。



点击右侧边框中的“相关下载”,然后点击”一键下载”。这样会将百度地图的SDK,示例等一块下载下来。



  这样我们就获得了Baidu地图开发的相关工具了。

如何使用BaiduMap

  百度其实已经为我们提供了帮助文档,可以通过点击右侧边框中的开发指南来获得Baidu地图的使用帮助:



  在开发指南中我们首先可以阅读简介来了解Baidu SDK的基本功能,然后可以申请秘钥, 申请秘钥之后配置开发环境。然后通过提供的Hello BaiduMap使用示例来讲解Baidu 地图的基本使用。然后可以通过逐步的阅读,构建自己应用中Map的功能。



获取我们自己的SHA1

百度地图开发申请KEY的时候需要开发者提供SHA1证书指纹数据,在eclipse很容易就找到了,但是Android Studio很久也没找到,只能使用在网上看到的方法了,在Android Studio中的Terminal中使用keytool获取了,具体如下图所示(输入密钥库口令–测试的默认口令为:android,如果使用自己提供的keystore,就是自己的密码了):



让Map显示出来

   基本的配置可以参照Baidu “开发指南”上的说明文档,这里就不过多的涉及了。

添加权限。

<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" />


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

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


在应用程序创建时初始化 SDK引用的Context 全局变量,并创建地图Activity,管理地图生命周期。

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

private MapView mapView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//使用BaiduMap SDK
//在使用SDK个组件之前初始化context信息,传入ApplicationContext
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
init();
}

private void init() {
mapView= (MapView) findViewById(R.id.mapView);
}

@Override
protected void onDestroy() {
super.onDestroy();
//在activity执行onDestroy时执行mapView.onDestroy(),实现地图生命周期管理
mapView.onDestroy();
}

@Override
protected void onResume() {
super.onResume();
//同上
mapView.onResume();
}

@Override
protected void onPause() {
super.onPause();
//同上
mapView.onPause();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: