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

关于百度地图的应用android开发步骤

2015-11-09 20:43 369 查看
一、先要申请百度地图的开发者账号

--->进入百度地图api的首页

--->登录

--->下载所需的jar包

--->将BaiduLBS_Android.jar

locSDK_5.2.jar包放入libs包中

将libBaiduMapSDK_v3_5_0_31.so

liblocSDK5.so(对应的jar包的so文件*c和c#编写的底层代码文件)放入armeabi文件夹中(armeabi为自己创建的文件夹)

--->申请密钥:

在开发--API控制台--创建应用--填写应用名称(*不可以还有baidu字样可以是中文)--应用类型选择为AndroidSDK--启用服务默认(默认为全选)--填写安全码(

安全码为SHA1值+;+当前的包名SHA1值在eclipse的window下preference的Android下build里面)然后点击提交

--->在Eclipse中选中工程,右键选Properties->JavaBuildPath->OrderandExport使AndroidPrivateLibraries处于勾选状态;(根据eclipse版本可以省略)

--->在工程配置清单中插入

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


--->添加所需权限(这里每个权限是干啥的暂时没搞懂反正多了不会出错所以就全都复制吧)

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS"/>
<uses-permissionandroid:name="android.permission.WAKE_LOCK"/>
<uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.GET_TASKS"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/>


--->在布局文件中添加这个控件(也是百度提供的就复制就可以了)

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


--->在应用程序创建时初始化SDK引用的Context全局变量

publicclassMainActivityextendsActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
}
}

*注:百度推荐要将(SDKInitializer.initialize(getApplicationContext());)这个方法在application初始化方法中使用否则在定位的时候第一遍运行会无法定位

--->最后创建一个Activity获取这个百度提供的UI控件然后管理他的生命周期代码如下

publicclassMainActivityextendsActivity{
MapViewmMapView=null;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
//获取地图控件引用
mMapView=(MapView)findViewById(R.id.bmapView);
}
@Override
protectedvoidonDestroy(){
super.onDestroy();
//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
mMapView.onDestroy();
}
@Override
protectedvoidonResume(){
super.onResume();
//在activity执行onResume时执行mMapView.onResume(),实现地图生命周期管理
mMapView.onResume();
}
@Override
protectedvoidonPause(){
super.onPause();
//在activity执行onPause时执行mMapView.onPause(),实现地图生命周期管理
mMapView.onPause();
}
}

*注:关于百度地图实用的控制

baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);//卫星图 baiduMap.setTrafficEnabled(true);//显示城市交通图 baiduMap.setBaiduHeatMapEnabled(true);//是否显示城市热力图 mMapView.showScaleControl(false);//是否显示比例控件 mMapView.showZoomControls(false);//是否显示缩放控件



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: