zoukankan      html  css  js  c++  java
  • Android百度地图开发-第一篇:申请、搭建百度地图

    一、前言

    这是第一篇关于Android使用百度地图的学习记录,主要记录:
      1.在百度地图开发者平台上申请API Key。
      2.在自己的应用中加入百度地图的Android版SDK。
      3.在自己的应用中显示一个地图。

    二、在百度地图开发者平台上申请API Key

    百度地图开发者平台地址:http://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5。点击界面的“申请密钥”,进入界面之后,点击“创建应用”按钮。



    将应用类型选择为“Android SDK”,要填写应用名称、发布版本SHA1、开发版本SHA1,所以我建议现在就创建好你的应用项目,也好查看所需要填写的信息。在这里我的应用名称为“百度地图测试”,包名为"com.zhangmiao.baidumaptest11_4"。
    发布、开发版本的SHA1的查看方式:

    1.获取开发版SHA1:

    输入命令:keytool -list -v -keystore debug.keystore,回车
    输入密钥库口令:android(系统默认)回车。

    这就看到了开发版SHA1了。

    2.获取发布版SHA1:

    2.1.创建自己的签名文件    

    在Android Studio软件中选择Build->Generate Signed APK。点击Next按钮

    这里可以选择Create New Key Store或者Choose Existing Key Store,选择存在的KeyStore文件也是可以的,直接选择即可,这里,我介绍一下创建新的KeyStore的步骤,点击Create new Key Store按钮,

    Key store path:选择KeyStore的文件路径与名称。
    Password:密码
    Confirms:再次输入密码
    Alias:别名
    Password:key的密码
    Confirms:再次输入密码
    Validity(years):密钥的有效期
    First and Last Name:你的名字
    Organizational Unit:单位
    Organization:组织
    City or Locality:城市或者所在地
    State or Province:省份
    Country Code (XX):国家
    填写完成之后点击"ok"按钮,返回到了Generate Signed APK的界面,这个时候发现界面的Key store password、Key alias、Key Password已经自动填写好了,
    点击"Next"按钮,出现了Enter Master Password界面(有的可能不会出现这个界面),

    填写密码即可,点击“OK”按钮,

    Build Type的选项是release,还要记得勾选Signature Versions的选项。点击Finish按钮,到这里开发版本的keystore文件就创建好了。

    2.2.查看发布版的SHA1

    输入命令:keytool -list -v -keystore “创建的发布版的keystore文件的地址”,回车。
    输入密钥库口令:前面设置的是什么,这里填写什么。

    这就看到了发布版SHA1了。
    将查看到的发布版与开发版的SHA1填写进对应的输入框中。然后点击提交即可。

    三、在自己的应用中加入百度地图的Android版SDK

    先下载百度地图Android版的SDK:下载地址:http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download,点击自定义下载,勾选自己需要的功能,点击开发包下载即可。
    下载完成之后,解压压缩包,将libs里面的文件全部放入自己项目的libs文件夹下。在项目的build.gradle中加入以下语句:

    android {
       ...
        sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
            }
        }
    
    }

    这样就在你的项目中引入了百度地图的API了。

    四、在自己的应用中显示一个地图

    1.修改activity_main布局

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <com.baidu.mapapi.map.MapView
            android:id="@+id/map_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clickable="true" />
    
    </LinearLayout>

    2.添加API_KEY

    在AndroidManifest.xml文件中,为Application添加api_key

        <application
            ...>
            <meta-data android:name="com.baidu.lbsapi.API_KEY"
                android:value="在百度地图开发者平台界面查看自己应用的(访问应用)AK"/>

    3.修改MainActivity文件

    public class MainActivity extends AppCompatActivity {
    
        private MapView mMapView = null;
    
        private BaiduMap bdMap;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            SDKInitializer.initialize(getApplicationContext());
            setContentView(R.layout.activity_main);
            mMapView = (MapView) findViewById(R.id.map_view);
        }
    
    
        @Override
        protected void onResume() {
            super.onResume();
            mMapView.onResume();
        }
    
        @Override
        protected void onPause() {
            super.onPause();
            mMapView.onPause();
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            mMapView.onDestroy();
            MapView.setMapCustomEnable(false);
            mMapView = null;
        }
    }

    4.添加权限

    在AndroidManifest.xml中添加以下权限:

        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <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" />

    现在就可以运行程序了,可以看到出现地图了。

    代码地址: https://github.com/ZhangMiao147/BookCode_TheFirstLineOfCode/tree/master/baidumaptest11_4

  • 相关阅读:
    HDU4666+POJ2926【最远曼哈顿距离】
    IOS学习之路九(配置restful webservice 框架restkit)
    vb.net 模拟UDP通信
    微信公众平台开发之万能表单
    学习Qt,Getting started
    spring的xml配置文件出现故障
    POJ 1731 Orders(STL运用)
    hiho1080 更为复杂的买卖房屋姿势
    Linux学习笔记(三):系统执行级与执行级的切换
    数据结构之哈希表
  • 原文地址:https://www.cnblogs.com/zhangmiao14/p/7274977.html
Copyright © 2011-2022 走看看