• AndroidBDMap学习01:基于百度地图SDK的配置以及利用API实现一个简单的地图应用


    (一)注册并获取AK码:

    step1:找到keytool工具,并转移到.android目录下。(前提是已经安装了java jre/jdk)

     为避免有些情况,在控制台无法找到keytool,可以把与keytool同级的所有文件统统复制粘贴到 ../.android 目录下。

     step2:快捷键win+R,输入cmd进入控制台 或者 直接使用android studio等其他环境的自带Terminal,完成下面指令:

     step3:到官网注册申请Key,申请Key入口:http://lbsyun.baidu.com/apiconsole/key

     step4:获取包名

     回到step3即可完成申请,然后复制Key:

     (二)下载SDK包,并解压:

     

     (三)配置项目文件:

     对于加入jar文件,右键-选择Add As Library,导入到工程中。同时在build.gradle中会生成工程所依赖的对应的jar文件说明

     再到AndroidManifest.xml文件中添加下列代码(添加在appliction之外,如添加到appliction内部,会导致无法访问网络):

     1     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     2 
     3      <!-- 这个权限用于进行网络定位 -->
     4 
     5      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
     6 
     7      //获取设备网络状态,禁用后无法获取网络状态
     8 
     9      <uses-permission android:name="android.permission.INTERNET"/>
    10 
    11      //网络权限,当禁用后,无法进行检索等相关业务
    12 
    13      <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    14 
    15      //读取设备硬件信息,统计数据
    16 
    17      <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    18 
    19      //读取系统信息,包含系统版本等信息,用作统计
    20 
    21      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    22 
    23      //获取设备的网络状态,鉴权所需网络代理
    24 
    25      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    26 
    27      //允许sd卡写权限,需写入地图数据,禁用后无法显示地图
    28 
    29      <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    30 
    31      //获取统计数据
    32 
    33      <uses-permission android:name="android.permission.GET_TASKS" />
    34 
    35      //鉴权所需该权限获取进程列表
    36 
    37      <uses-permission android:name="android.permission.CAMERA" />
    38 
    39      //使用步行AR导航,配置Camera权限

    最后配置AK(在application标签内添加):

    1 <meta-data
    2             android:name="com.baidu.lbsapi.API_KEY"
    3             android:value="你的AK"/>

    (四)写最简单的地图程序

    布局文件

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     xmlns:app="http://schemas.android.com/apk/res-auto"
     4     xmlns:tools="http://schemas.android.com/tools"
     5     android:layout_width="match_parent"
     6     android:layout_height="match_parent"
     7     tools:context=".MainActivity">
     8 
     9     <com.baidu.mapapi.map.MapView
    10         android:id="@+id/bmapView"
    11         android:layout_width="fill_parent"
    12         android:layout_height="fill_parent"
    13         android:clickable="true"
    14         />
    15 
    16 </androidx.constraintlayout.widget.ConstraintLayout>

    对应的java文件

     1 package com.example.baidumap01;
     2 
     3 import androidx.appcompat.app.AppCompatActivity;
     4 
     5 import android.os.Bundle;
     6 
     7 import com.baidu.mapapi.SDKInitializer;
     8 
     9 import com.baidu.mapapi.map.MapView;
    10 
    11 public class MainActivity extends AppCompatActivity {
    12     private MapView mMapView = null;
    13     @Override
    14     protected void onCreate(Bundle savedInstanceState) {
    15         super.onCreate(savedInstanceState);
    16         SDKInitializer.initialize(getApplicationContext());
    17         setContentView(R.layout.activity_main);
    18         mMapView = findViewById(R.id.bmapView);
    19     }
    20     @Override
    21 
    22     protected void onDestroy() {
    23 
    24         super.onDestroy();
    25 
    26         //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
    27 
    28         mMapView.onDestroy();
    29 
    30     }
    31 
    32     @Override
    33 
    34     protected void onResume() {
    35 
    36         super.onResume();
    37 
    38         //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
    39 
    40         mMapView.onResume();
    41 
    42     }
    43 
    44     @Override
    45 
    46     protected void onPause() {
    47 
    48         super.onPause();
    49 
    50         //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
    51 
    52         mMapView.onPause();
    53 
    54     }
    55 }

    执行结果:

  • 相关阅读:
    Haproxy图解
    Keeplived 配制图解
    日志文件 的管理 logrotate 配置
    Haproxy+MYSQL 负载均衡 原创
    MySQL内存----使用说明全局缓存+线程缓存) 转
    MYSQL内存--------启动mysql缓存机制,实现命中率100% 转
    MYSQL SQL 审核工具 (inception安装步骤)
    MHA手动切换 原创4 (非交互式切换)
    MHA手动切换 原创2 (主参与复制)
    MHA手动在线切换主 原创3(主不参与复制)
  • 原文地址:https://www.cnblogs.com/lzw265/p/12228496.html
Copyright © 2020-2023  润新知