Android Studio上百度地图的显示

之前在eclipse上显示百度地图的时候并没有发生什么不愉快的事,但是AS上简直是RI了DOG。

我简直不能忍Baidu地图API文档,丑陋至极。


1、新建一个项目,名为BaiduMapDemo,包名是com.zhouyou.baidumapdemo(这里的包名在后面要用到)
新建项目baidumapdemo
2、建完之后不要慌,我们要为申请百度地图的key做准备。如下所示:build->Generate Signed apk
generate signed apk
接下来选取自己新建的项目名:
选取新建的项目
点击create new新建一个签名
新建
在新弹出的界面填写信息:
填写信息
点击OK,一直next直到finish。

之后,找到File->Project Structure,进入后,填写刚刚的签名信息:
这里写图片描述

3、找到Android Studio中的terminal,Terminal的位置如下图所示:
Terminal位置

4、键入查看SHA1命令:

Terminal端键入指令并输入密码
显示数据如下:
数据显示,SHA1的值后面要用到

5、去百度地图开发中心申请秘钥:

1)百度链接:秘钥申请地址
2)申请信息填写,注意SHA1一定是你上面查到的
这里写图片描述
注意上述包名一定是建的demo的所在包名,提交后,出现一个界面会显示申请到的AK,具体如图所示:
这里写图片描述
记下AK这个是等会程序中所需要的配置信息。

6、导入相关jar包和so文件:
链接地址为:jar包和so文件下载地址
上面的是所有jar和so文件,解压后就可以看出来了。如下图所示,在解压后的libs文件中分别找到armeabi和jar文件群。
so文件和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上显示基础地图的教程,步骤可能啰嗦繁琐,但是本人亲测三次都是能够运行的,这个过程中要十分感谢我的老同学东神。

我也希望这篇文章能够帮助一些像我一样的菜鸟,如有错误不当之处,希望各位大神多多交流,鄙人一定虚心接受并不断完善为更多人服务。

以后的博文可能会涉及一些更加多样的地图运用,整理好了也会发上来。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值