1.申请API Key

通过keytool获取SHA1,并在百度地图开放平台上申请API Key。

2.配置百度地图AndroidSDK

从百度地图官方网站下载并解压地图SDK,然后将解压后文件复制到Android 项目目录中libs目录下。

3.配置build.gradle

在build.gradle文件中新增以下项目。

4.配置AndroidManifest.xml

在AndroidManifest.xml文件中新增以下内容。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

在Application标签中新增以下内容。

<service android:name="com.baidu.location.f"android:enabled="true"android:process=":remote"/>

5.实现MainActivity

package com.example.homework4;import androidx.appcompat.app.AppCompatActivity;import android.Manifest;
import android.location.LocationListener;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;import com.baidu.location.BDAbstractLocationListener;
import com.baidu.location.BDLocation;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.CoordType;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.model.LatLng;public class MainActivity extends AppCompatActivity {private MapView mapView;private BaiduMap baiduMap;private LocationClient locationClient;@Overrideprotected void onResume() {mapView.onResume();super.onResume();}@Overrideprotected void onPause() {mapView.onPause();super.onPause();}@Overrideprotected void onDestroy() {locationClient.stop();baiduMap.setMyLocationEnabled(false);mapView.onDestroy();mapView = null;super.onDestroy();}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);SDKInitializer.initialize(getApplicationContext());requestPermissions(new String[]{Manifest.permission.INTERNET, Manifest.permission.ACCESS_NETWORK_STATE, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);setContentView(R.layout.activity_main);mapView = (MapView) findViewById(R.id.bmapView);baiduMap = mapView.getMap();locationClient = new LocationClient(this);LocationClientOption option = new LocationClientOption();option.setOpenGps(true);option.setCoorType("bd09ll");option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);option.setIsNeedAddress(true);option.setIgnoreKillProcess(false);option.setOnceLocation(true);option.setScanSpan(0);locationClient.setLocOption(option);locationClient.registerLocationListener(new BDAbstractLocationListener() {@Overridepublic void onReceiveLocation(BDLocation location) {baiduMap.animateMapStatus(MapStatusUpdateFactory.newLatLng(new LatLng(location.getLatitude(), location.getLongitude())));Toast.makeText(getApplicationContext(),location.getAddrStr(),Toast.LENGTH_LONG).show();}});baiduMap.setMyLocationEnabled(true);locationClient.start();}
}

6.activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/textview"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout><com.baidu.mapapi.map.MapViewandroid:id="@+id/bmapView"android:layout_width="match_parent"android:layout_height="match_parent"android:clickable="true" ></com.baidu.mapapi.map.MapView>
</androidx.constraintlayout.widget.ConstraintLayout>

7.运行效果

(因为模拟器运行效果异常,故使用真机运行截图)

移动开发作业4 LBS定位相关推荐

  1. 人员定位胸牌关于不同移远模块LBS定位数据格式差异的问题说明

    随着物联网的发展,关于资产跟踪定位的需求不断攀升,其中人员定位作为其中重要一项,被广泛运用于老人.儿童防丢失.户外工作者管理以及企业内部优化流程等. 人员定位胸牌采用WIFI/GNSS/LBS多种定位 ...

  2. WIFI定位,LBS定位,GNSS定位优缺点和适用场景

    三种定位方式的介绍 WIFI定位: 每一个无线AP(路由器)都有一个全球唯一的MAC地址,并且一般来说无线AP在一段时间内不会移动: 设备在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号,无论是 ...

  3. 安卓学习专栏——百度地图(1)获取SHA1指纹申请百度地图API Key使用百度LBS定位功能(图文保姆级)

    步骤 系列文章 前言 1.前期准备 2.创建应用 3.获取发布版SHA1和开发版SHA1 3.1找到.android文件夹位置 3.2Android Studio的Terminal中cd路径 3.3输 ...

  4. LBS定位应用app的兴趣点与名称搜索

    LBS定位应用app的兴趣点与名称搜索 2015-12-26 22:15:18 我们知道,美团与大众点评的涉及30亿美金的重量级合并是非常的吸引眼球的.在这一场合并中,美团主要看重的是大众点评的门店P ...

  5. 支付和LBS定位对于O2O到底有多重要?

    最近听百度P9构架师分享了一个观点,对我启发较大,写了篇文章来分享一下我对这个观点的思考和看法: O2O的O分别是线上的Online,和线下的Offline.中间的2一个是支付,另一个是LBS(地理位 ...

  6. NDK撩妹三部曲(四)—NDK 开发如何优雅的定位 Native 异常,看这篇就够了

    NDK 开发如何优雅的定位 Native 异常,看这篇就够了 从何说起? 摘要 案例实操 aaddr2line objdump ndk-stack 1.假设我们已经通过 adb logcat 拿到了程 ...

  7. Android开发中虚拟位置定位、应用双开、IP代理检测

    Android开发中虚拟位置定位.应用双开.IP代理检测 1.虚拟位置定位.应用双开原理 目前市面上的多开App的原理类似,都是以新进程运行被多开的App,并hook各类系统函数,使被多开的App认为 ...

  8. GNSS系列(2)------OneMO模组LBS定位使用方法全攻略

    由于工作需要,最近开启了GNSS系列文章的撰写工作,发布于公司官网,现将其同步至CSDN. 原文链接: http://onemo10086.com/#/school/article/166 各位小伙伴 ...

  9. Android开发之百度地图定位打卡

    Android开发之百度地图定位打卡 一.效果图 二.下载百度地图SDK 三.代码实现 1.布局文件(activity_main) 2.布局文件(activity_map) 3.在res文件夹下新建m ...

最新文章

  1. .net平台性能很不错的轻型ORM类Dapper(转)
  2. 刘强东宣布: 未来京东将减员50%,每天工作3小时!无人公司来了……
  3. git 添加外部项目地址
  4. xhtml文件的后缀名是什么?
  5. H264 解码耗时分析
  6. 解决在Android Studio 3.2找不到Android Device Monitor工具
  7. POJ 1850 Code
  8. ++i和i++哪个效率更高
  9. python 安装xlwt失败_安装python库xlwt的时候遇到超时的情况。
  10. IE6/7下不同的inline-block
  11. 在线教育平台源码组成概述
  12. protues软件仿真-LCD1602
  13. 贝叶斯公式的直观理解(先验概率/后验概率)
  14. flink on yarn 模式缺少资源,出现任务堵塞现象
  15. 动态IP和静态IP地址
  16. Python练习实战股票网页数据
  17. 如何评价『黑客与画家』
  18. 远程登录时由于帐户限制,你无法登录的解决办法[作者:Jackie]
  19. 计算机科学概论第三版重点,计算机科学概论重点.doc
  20. 短视频搬运二次剪辑伪原创教程

热门文章

  1. 大学物理——质点运动学复习
  2. 作妖 | 该文件没有与之关联的程序来执行该操作...的解决方法(删除快捷方式小箭头所致)...
  3. 世界上第一台最大的计算机网络,世界上的第一台计算机多大
  4. 试析高校变配电室电力监控系统的设计与实现
  5. 为视窗护航,微软推出免费Morro
  6. 计算机硬盘怎么在u口打开,怎么使用u盘电脑启动
  7. 宅家36天咸鱼翻身入职腾讯,好文推荐
  8. windows 驱动与内核调试 学习
  9. R包rdist、Python sklearn计算pairwise distance
  10. ZigBee组网原理分析