2015年7月29日星期三

百度地图baidumapSDK入门之地图显示

摸索了半下午的baidumapSDK_v3.1.0的使用。

1.申请API KEY

地址http://lbsyun.baidu.com/apiconsole/key

填写安全码的时候注意下,其格式为SHA1+";"+包名,

在eclipse->preferences->android->build可找到SHAI fingerprint,

2.配置SDK

先下载之http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download,建议一键下载,jdk和docs文档和sample都有了,想要啥有啥.....其实我想单选下载的时候老下载不成功

lib中的baidumapapi_v3_1_0.jar即jar文件放入工程的libs中,

libBaiduMapSDK_v3_1_0.so放入libs->armeabi中,注意,armeabi需要我们自己新建

Properties->Jaca Build Path->Libraies->add JARs 添加我们的baidumapapi_v3_1_0.jar

Properties->Jaca Build Path->Order and Export选中baidumapapi_v3_1_0.jar

Project clean -> clean all即可

3.在AndroidManifest.xml的application中添加API Key

   <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data 
            android:name="com.baidu.lbsapi.API_KEY"

            android:value="xzBRnhNM24BPN8bPBQVvaio2"/>
         .......
    </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.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_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" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_GPS" />

触目惊心好多权限.....

4.布局activity_main.xml文件里简单添加一个地图控件mapView,

  <com.baidu.mapapi.map.MapView
     android:id="@+id/map_view"
     android:layout_width="match_parent"
     android:layout_height="match_parent"

     android:clickable="true"/>

5.修改MainActivity.java文件

public class MainActivity extends Activity {

private MapView mapView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 注意该方法要在setContentView方法之前实现
// 注意,在SDK各功能组件使用之前都需要调用SDKInitializer.initialize(getApplicationContext())
// 因此我们建议该方法放在Application的初始化方法中
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
mapView = (MapView) findViewById(R.id.map_view);
}

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

}

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

}

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


}

详细的解释我都写在了代码注释里了,真是一个好习惯

6.运行之,


LOL !

没有评论:

发表评论