赞
踩
之前在eclipse上显示百度地图的时候并没有发生什么不愉快的事,但是AS上简直是RI了DOG。
我简直不能忍Baidu地图API文档,丑陋至极。
1、新建一个项目,名为BaiduMapDemo,包名是com.zhouyou.baidumapdemo(这里的包名在后面要用到)
2、建完之后不要慌,我们要为申请百度地图的key做准备。如下所示:build->Generate Signed apk
接下来选取自己新建的项目名:
点击create new新建一个签名
在新弹出的界面填写信息:
点击OK,一直next直到finish。
之后,找到File->Project Structure,进入后,填写刚刚的签名信息:
3、找到Android Studio中的terminal,Terminal的位置如下图所示:
4、键入查看SHA1命令:
显示数据如下:
5、去百度地图开发中心申请秘钥:
1)百度链接:秘钥申请地址
2)申请信息填写,注意SHA1一定是你上面查到的
注意上述包名一定是建的demo的所在包名,提交后,出现一个界面会显示申请到的AK,具体如图所示:
记下AK这个是等会程序中所需要的配置信息。
6、导入相关jar包和so文件:
链接地址为:jar包和so文件下载地址
上面的是所有jar和so文件,解压后就可以看出来了。如下图所示,在解压后的libs文件中分别找到armeabi和jar文件群。
在demo的src/main文件夹下新建文件夹jniLibs并将armeabi放入其中,将jar的三个包放入libs文件夹下,并对jar文件右击选择Add as libary。
具体如下图所示:
7、配置Manifest.xml文件及相关代码:
1)在application的标签下,键入如下代码:
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
其中“开发者 key”必须被我们在百度地图上申请到的AK替换掉。
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" />
3)在布局文件中添加百度的自定义控件:
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
4)activity中的代码:
package com.zhouyou.baidumapdemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.MapView;
public class MainActivity extends AppCompatActivity {
MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
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();
}
}

8、对demo进行打包运行,而不是run as运行:
再次进入这个界面,选择当前demo,一直next直到结束,结束后会出现下面的画面,点击圆圈处,会发现一个与demo同名的apk,运行它。
apk所在的位置:
9、运行后的地图显示图:
以上就是运用百度地图api在AndroidStudio上显示基础地图的教程,步骤可能啰嗦繁琐,但是本人亲测三次都是能够运行的,这个过程中要十分感谢我的老同学东神。
我也希望这篇文章能够帮助一些像我一样的菜鸟,如有错误不当之处,希望各位大神多多交流,鄙人一定虚心接受并不断完善为更多人服务。
以后的博文可能会涉及一些更加多样的地图运用,整理好了也会发上来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。