binbinyang---百度地图androidAPI Android SDK v3.5.0-------------1.Hello BaiduMap

来源:互联网 发布:python程序员怎么样? 编辑:程序博客网 时间:2024/06/03 19:26


最近公司项目中,要用到百度地图整合到项目中,随便这块不是我做的。但是我还是用周末的时间自己做了一个,当前的版本是  Android SDK v3.5.0,看了网上有很多代码,但是版本不是最新的。相对而言比较旧,看了官网的API说明,感觉改动很大,所以更大家分享分享,我周6周7的劳动成果;

1. 前期准备。

进去百度地图API 



其中这个数字签名是:



选择下载 自己开发中需要的。

2.新建项目


-----------yangbin_map ;

这个是项目整体结构



3.在AndroidManifest中添加开发密钥、所需权限等信息;

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

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



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

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

设计main.xml文件这里注意的是MapView控件必须使用来自百度库封装好的com.baidu.mapapi.map.MapView  。设计代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <com.baidu.mapapi.map.MapView        android:id="@+id/id_bmapView"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:clickable="true" /></RelativeLayout>
5,在应用程序创建时初始化 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);      }  }

注意:在SDK各功能组件使用之前都需要调用

SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中

6,创建地图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();          }      }


最后效果是这样

android_dev2.jpg

0 0
原创粉丝点击