最终效果如:
这个需要详细说下,准备工作较为繁琐。
第一步:去百度申请一个开发者账号,新建一个android应用,会让你输入开发者SHA1,目前我只拿到开发版SHA1,发布版那里也填的是这个。
获取方法如:
在C:UsersAdministrator.android下面呼出命令行,输入
keytool -list -v -keystore debug.keystore,会得到三种指纹证书,选取SHA1类型的证书(密钥口令是android)
红线地方就是,填进adroid sdk申请界面,会得到一个AK码,复制下来。
第二步:使用as新建一个android项目,加入ak码和权限在AndroidManifest.xml文件中
(1)在application中添加开发密钥
<application> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="AK 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" />
第三步:引入jar包
在http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download 点击一键下载,去
下面把那7个jar包全部复制到项目目录下的lib目录中:
然后在源代码目录下新建jniLibs文件夹,把刚才剩下的那几个文件夹复制过来:
第四步:在主布局文件中加入mapview:
<com.baidu.mapapi.map.
TextureMapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
特别注意重点标示部分。
布局后台代码中加入:
package com.example.baidumapdemo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.baidu.mapapi.SDKInitializer; import com.baidu.mapapi.map.MapView; import com.baidu.mapapi.map.TextureMapView; public class MainActivity extends AppCompatActivity { TextureMapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { // super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); super.onCreate(savedInstanceState); //在使用SDK各组件之前初始化context信息,传入ApplicationContext //注意该方法要再setContentView方法之前实现 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); //获取地图控件引用 mMapView = (TextureMapView) 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(); } }
完整源代码下载
获取发布版shai:keytool -exportcert -list -v -keystore C:UsersAdministrator.androidmykey.jks 其中mykey是自己随意创建的,记住密码
获取开发板shai:keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%.androiddebug.keystore 密码:android