• 百度地图开发的学习(一)——配置环境&基础地图


    由于项目需求缘故,最近在学习Android地图的开发,所以就记录一下学习过程。最近都会陆续更新啦。目前使用百度地图API的挺多的,所以就先以它为基础学习一些地图的调用。

    一、AK的申请

    与web开发不一样,Android的地图项目开发需要申请一个AK才能调用地图能。

    1.注册成为百度开发者,正常填入信息即可。

    2.申请密钥:

      在http://lbsyun.baidu.com/apiconsole/key中创建应用,现在百度只允许一个key对应一个应用。

      (1)应用名称:与自己创建项目名一致。

      (2)应用类型:Android SDK

      (3)启动服务:建议全部勾选,方便项目后续继续添加功能。

      (4)数字签名(SHA1):

      在Android studio上有命令行,直接启动,进入C:用户名.android,输入keytool -list -v -keystore debug.keystore(密钥库命令是android),会出现证书指纹,将SHA1的值粘贴过去即可。

      由于百度推荐的这个方法出来的SHA1可能出现错误,百度论坛上许多人包括本人也出现SHA1值错误导致的AK匹对失败,在论坛上看到官方给出一个测试AK的app,它可以获取所有应用正确的SHA1和包名,我们可以把以前错误替换掉。这是网址:http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=85103&extra=page%3D1

      (5)包名:Android studio里在app文件下的build.gradle,applicationId就是包名。

     二、下载SDK开发包

    1.在网址:http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download

     一键下载会把jar包、so文件以及一些demo都包含,后面也比较方便查看。

     2.接下来就是在android studio创建项目,过程就不说啦,建完后添加jar包和so文件

    jar包:添加在libs文件下,并右击右击里选择add as library;

     so文件:在main文件下新建jniLibs文件,将各种编译环境的so文件粘贴进去。

     3.在AndroidManifest.xml 声明AK和权限

    AK:

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

    权限(算是比较齐全的权限):

    <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.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>

    4.在布局文件中添加地图控件

     

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



    5.应用创建需要初始化SDK,引用全局变量:

     


     6.创建基础地图:

    在主线程里面声明了控件引用就可以使用基础地图了,显示基本的地图信息。
    mMapView = (MapView) findViewById(R.id.bmapView);
    然后管理声明周期,在各个阶段同步地图的状态。
    @Override
    protected void onDestroy() {
    super.onDestroy();
    mMapView.onDestroy();
    }

    @Override
    protected void onResume() {
    super.onResume();
    mMapView.onResume();
    }

    @Override
    protected void onPause() {
    super.onPause();
    mMapView.onPause();
    }

    
    

     后面会陆续更新定位的获取,地图POI的检索和一些路线规划等等。

  • 相关阅读:
    ARM9嵌入式学习日志--20170828
    技术积累
    做产品还是做技术?
    python学习之一
    他山之石——面试非技术问题整理(持续更新中)
    他山之石——面试技术问题整理(持续更新中)
    .bss .text和.data简介
    linux学习——大话linux网络
    实用的技术网站
    linux学习——centos minimal安装vim
  • 原文地址:https://www.cnblogs.com/tianshi-zhu/p/5365986.html
Copyright © 2020-2023  润新知