百度API———基础地图(一)*

来源:互联网 发布:保姆偷喝母乳 知乎 编辑:程序博客网 时间:2024/05/22 00:05

百度AIP地址
基础地图

1.获取秘钥

发布版SHA1的值必须自己手动创建签名,使用默认签名是不行的!
创建签名的办法
使用默认秘钥最主要的体现就是程序能运行,但是无法获取地图

2.配置环境

材料

不是所有的都必须要使用,可以自行选择

jar包 so文件 功能 baidumapapi_map_vX_X_X.jar libBaiduMapSDK_map_vX_X_X.so 地图功能包 baidumapapi_search_vX_X_X.jar libBaiduMapSDK_search_vX_X_X.so 检索功能包 baidumapapi_cloud_vX_X_X.jar libBaiduMapSDK_cloud_vX_X_X.so 云检索功能包 baidumapapi_util_vX_X_X.jar libBaiduMapSDK_util_vX_X_X.so 工具功能包; baidumapapi_radar_vX_X_X.jar libBaiduMapSDK_radar_vX_X_X.so 周边雷达工具包

Eclipse使用

需要的全部copy到libs目录下,然后导入jar包
Eclipse使用

AndroidStudio使用

jar包放入libs目录下,so文件放在src/jniLibs目录下,如果so文件不放在这个目录,需要在gradle文件配置。
别忘了jar包需要导入。
AndroidStudio使用

3.开始第一个百度地图

不多说先上效果图

效果图

AndroidManifest.xml中的配置

  1. 添加开发秘钥
  2. 添加权限
  3. 开发秘钥
    这里写图片描述
    注意权限在application外,开发秘钥写在application内
<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" /><application>      <meta-data          android:name="com.baidu.lbsapi.API_KEY"          android:value="开发者 key" />  </application>

布局文件

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

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();          }      }

4.遇到的坑

重写父类方法的时候,一定要注意,不要重写双参的。
会遇到onResume生命周期报错

@Overridepublic void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {    super.onCreate(savedInstanceState, persistentState);}@Overrideprotected void onResume() {    super.onResume();    mMapView.onResume();  }
0 0