第一步先获取百度地图的ak码

第二步下载百度地图的开发包

第三步as中导入包

第四步根据官方文档实现定位

Android Studio配置
​ 首先需要下载百度地图开发所需的第三方库(下载地址),选择标准版jar开发包。将解压后的所有文件添加到申请AK时使用的项目文件中的lib目录中。然后在app目录下的build.gradle文件中android块中配置sourceSets标签,内容如下:

sourceSets {
           main {
               jniLibs.srcDir 'libs'
           }
    }
​ 此时就能将部分目录添加到项目视图中,现在需要将jar文件添加到项目视图中。在app目录的build.gradle的dependencies块中添加以下代码,然后右键目标jar文件,选择Add as library,就能将其加入到项目视图中。

implementation files('libs\\BaiduLBS_Android.jar')

​ 完成以上步骤之后,就能进行接口的配置。首先配置AndroidManifest.xml文件。在<application>中加入如下代码配置开发密钥AK:

<application>  
    <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="这里填AK" />  
</application>

​ 在<application/>外部添加如下权限声明:

<!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 获取网络状态,根据网络状态切换进行数据请求网络转换 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 读取外置存储。如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

manifest.xml文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.mapcx"><applicationandroid:name=".mapcx1"android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.Mapcx"><service android:name="com.baidu.location.f"android:enabled="true"android:process=":remote"/><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><meta-dataandroid:name="com.baidu.lbsapi.API_KEY"android:value="TwB6oOwPpwyTm6s************" /></application><!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 --><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" /><!-- 这个权限用于访问GPS定位 --><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><!-- 读取外置存储。如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要 --><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>

mainactivity.java文件

package com.example.mapcx;import androidx.appcompat.app.AppCompatActivity;import android.app.Activity;
import android.os.Bundle;import com.baidu.location.BDAbstractLocationListener;
import com.baidu.location.BDLocation;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationData;public class MainActivity extends Activity {public MapView mMapView = null;public BaiduMap mBaiduMap;public LocationClient mLocationClient = null;public LocationClientOption option=new LocationClientOption();//BDAbstractLocationListener为7.2版本新增的Abstract类型的监听接口//原有BDLocationListener接口暂时同步保留。具体介绍请参考后文中的说明public class MyLocationListener extends BDAbstractLocationListener {@Overridepublic void onReceiveLocation(BDLocation location) {//mapView 销毁后不在处理新接收的位置if (location == null || mMapView == null){return;}MyLocationData locData = new MyLocationData.Builder().accuracy(location.getRadius())// 此处设置开发者获取到的方向信息,顺时针0-360.direction(location.getDirection()).latitude(location.getLatitude()).longitude(location.getLongitude()).build();mBaiduMap.setMyLocationData(locData);}}protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mMapView = findViewById(R.id.bmapView);mBaiduMap = mMapView.getMap();mBaiduMap.setMyLocationEnabled(true);mLocationClient = new LocationClient(this);option.setOpenGps(true); // 打开gpsoption.setCoorType("bd09ll"); // 设置坐标类型option.setScanSpan(1000);
//设置locationClientOptionmLocationClient.setLocOption(option);
//注册LocationListener监听器MyLocationListener myLocationListener = new MyLocationListener();mLocationClient.registerLocationListener(myLocationListener);
//开启地图定位图层mLocationClient.start();mLocationClient.requestLocation();}
}

mapcx1.java文件

package com.example.mapcx;import android.app.Application;import com.baidu.mapapi.CoordType;
import com.baidu.mapapi.SDKInitializer;public class mapcx1 extends Application{@Overridepublic void onCreate() {super.onCreate();//在使用SDK各组件之前初始化context信息,传入ApplicationContextSDKInitializer.initialize(this);//自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型.//包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。SDKInitializer.setCoordType(CoordType.BD09LL);}}

activitymain.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"><com.baidu.mapapi.map.MapViewandroid:id="@+id/bmapView"android:layout_width="401dp"android:layout_height="723dp"android:clickable="true"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>

c43n/mapcx (github.com)https://github.com/c43n/mapcx

利用百度地图sdk实现定位相关推荐

  1. android百度地图sdk定位权限,Android:使用百度地图SDK实现定位:下载SDK、申请密钥、动态获得Android权限...

    最近想实现一个打卡的功能,想到可以利用百度地图的SDK.网上有很多关于百度地图SDK定位.地图功能应用的demo,这部分倒不是很困难.但网上很多博客写的内容一般都着重于代码部分,很多下载配置和编译器设 ...

  2. Android利用百度地图API实现定位功能(记录)

    本篇主要介绍一下如何使用百度地图API来实现定位以及地图的基本使用. 效果图如下: 步骤如下: 一.申请APIKey. (1)注册百度账号并申请开发者资质:http://developer.baidu ...

  3. 百度地图SDK无法定位到当前所在位置;一直显示天安门

    按照百度官方SDK接入百度地图SDK后,进行地图定位的时候,缩小界面,显示出了定位图标,但是打开地图界面,一直显示天安门的位置. /*** 初始化定位内容*/private void initLoca ...

  4. html5 geolocation 百度地图,html5 geolocation配合百度地图api实现定位

    1.了解html5 geolocation HTML5 Geolocation(地理定位)用于定位用户的位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的.=> 使用 ...

  5. android开发百度地图坐标偏差,利用百度地图Android sdk高仿微信发送位置功能及遇到的问题...

    接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶 我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出 1.在微信发送 ...

  6. 关于百度地图SDK的andriod开发的定位功能实现

    基于Android Studio的汽车定位追踪系统的设计 摘要:随着经济的发展和汽车化时代的到来,人们对于车辆的服务的智能化,便捷化提出了更高的要求.文章主要研究通过软件编写一个汽车定位追踪系统,并利 ...

  7. Android中级篇之百度地图SDK v3.5.0-一步一步带你仿各大主流APP地图定位移动选址功能

    from: http://blog.csdn.net/y1scp/article/details/49095729 定位+移动选址 百学须先立志-学前须知: 我们经常在各大主流APP上要求被写上地址, ...

  8. android百度地图定位自定义图标,百度地图SDK集成及根据坐标实现定位(android studio开发)...

    百度地图SDK集成及根据坐标实现定位(android studio开发) 百度地图SDK集成及根据坐标实现定位(android studio开发) 1.下载百度地图SDK 链接:http://lbsy ...

  9. Android studio 百度地图SDK之地图定位与运动轨迹绘制

    百度地图定位与运动轨迹 Android开发的前期准备 地图图层显示与定位 运动轨迹的简单绘制 Android开发的前期准备 Android配置在百度地图SDK官网上有详细的说明.具体可以参考官网的教程 ...

最新文章

  1. asp.net TemplateField模板中的Bind方法和Eval方法
  2. 苹果降低应用商店收入一半分成、Twitter视频分享功能 Fleet、百度36亿美元收购 YY|Decode the Week...
  3. 指定时间的月初和月末一天的写法
  4. Java类class isAssignableFrom()方法及示例
  5. c语言 a 0,[整理]C语言中的a,a和a[0]
  6. Linux用sendmail发信失败,提示Connection refused by [127.0.0.1]
  7. SpringBoot+Mybatis集成搭建
  8. vue mianjs 引用css_7个有用的Vue开发技巧
  9. 海量数据挖掘MMDS week2: 频繁项集挖掘 Apriori算法的改进:基于hash的方法
  10. 科学期刊中关于计算机视觉,计算机视觉相关专业JCR1区期刊
  11. 利用dlib和opencv建立人脸识别数据集并进行人脸识别
  12. 【深入浅出图像算法】图像处理算法入门好文
  13. Axure元件-内联框架设计网页
  14. 洛谷1260 工程规划
  15. 京东青龙面板撸豆_搭建环境流程
  16. 企业云服务器的选择与配置指南
  17. 斧乃木余接win10主题分享
  18. 1-106兔子繁衍问题
  19. turlebot3 ROS相关求助
  20. 称为超级计算机,哪台机器被称为世界上最快的超级计算机?

热门文章

  1. 邪恶心理学-真实面对谎言的本质
  2. DATEADD() 函数详细说明
  3. 明翰英语教学系列之雅思阅读篇V0.9(持续更新)
  4. 空洞骑士复活歌女玛丽莎的方法(复活其他灵魂NPC同理)
  5. 中国人越来越不愿买新车!二手车电商上半年融资150亿元,谁是大赢家?
  6. 云原生—Rust编程语言能与C/C++媲美
  7. ImageNet无监督学习最佳性能一次提升7%,媲美监督学习
  8. direct3d D3DXCreateTextureFromResource 加载png
  9. 名风新浪博客评论软件-自动评论推广
  10. ios重签名shell脚本_03:双层签名和重签名流程以及shell脚本重签名