百度地图实现app定位功能

百度地图实现app定位功能

android开发

前期准备

(一)注册(登录)百度地图账号和获取密钥
1.注册和获取密钥
网址:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/ak
2.什么是密钥
开发者在使用SDK之前需要获取百度地图移动版开发密钥(AK),该AK与您的百度账户相关联。请妥善保存您的AK,地图初始化时需要使用AK。
3.获取开发密钥(AK)
百度地图 SDK开发密钥的申请地址为:http://lbsyun.baidu.com/apiconsole/key
步骤如下:
(1)登录百度账号
(2)百度地图开发者注册
百度地图开放平台开发者注册
(3)SHA1获取
① 找到View中的Tool Windows并打开Terminal
SHA1获取
② 找到自己的jdk的bin目录,下面为本电脑的目录
C:\Program Files\Java\jdk1.8.0_202\bin
③ 在Android studio控制台下方输入 cd+bin目录
④ 然后输入keytool -list -v -keystore 目录+debug.keystore(这里的目录通常是在用户名下面的.android文件夹下面,本电脑为C:\Users\lenovo.android)
在这里插入图片描述
口令为:android
得到SHA1
(4)获取包名
在app目录下的build.gradle文件中找到applicationId,并确保其值与AndroidManifest.xml中定义的package相同。
app目录下的build.gradle文件中找到applicationId
AndroidManifest.xml中定义的packagename
(5)创建平台
填上获取到的SHA1和自己的packagename
(6)创建应用
创建应用
填写SHA1和pacagename
SHA1和pacagename
(7)获得密钥
获得密钥
(二)下载百度地图软件开发包
http://lbsyun.baidu.com/index.php?title=sdk/download&action#selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool,mapsdk_radar
1.根据个人需求选择相应功能
功能选择
2.解压安装包
解压之后的文件夹
3.在Project模式下将BaiduLBS_Android jar包放入project的libs目录中
在这里插入图片描述
4.在src的main目录下新建一个文件夹jniLibs(一定要是这个名字!!),将解压包中的文件夹全部拷贝到jniLibs这里
文件放置位置
5.选择刚刚配置的jar包,右击点击Add as library
在项目的build.gradle可以看到已经帮我们自动添加依赖
在这里插入图片描述

二、定位功能实现

(一)配置

1.第一步 配置AndroidManifest.xml文件
在application中添加如下代码,your key加入配置开发密钥(AK)
在这里插入图片描述
(2)添加权限(下面代码包含所有可能用到的权限)

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<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.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!-- 这个权限用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!-- 用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

<!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,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" />
<!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 -->
(3)在布局中添加百度的mapview视图控件

<com.baidu.mapapi.map.MapView
android:id="@+id/baiduMapView"
android:layout_width=“fill_parent”
android:layout_height=“fill_parent”
android:clickable=“true” />

(4)编写java代码创建一个类
在这里插入图片描述
(5)最后创建一个activity,实现定位就可以啦
源码地址:https://download.csdn.net/download/qq_45152008/13679598

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在uniapp中使用百度地图实现定位功能并兼容小程序,你需要按照以下步骤操作: 1. 在百度地图开放平台申请一个应用,并获取到AK(Access Key)。 2. 在uniapp的manifest.json文件中添加以下代码: ``` "mp-baidu": { "appid": "your-appid", "apiKey": "your-apiKey" } ``` 将your-appid和your-apiKey替换成你申请得到的AK信息。 3. 在需要使用定位功能的页面中,引入百度地图组件: ``` <template> <view> <mp-baidu-map :longitude="longitude" :latitude="latitude" :markers="markers" :show-location="true"></mp-baidu-map> </view> </template> <script> import mpBaiduMap from '@/components/mp-baidu-map/mp-baidu-map.vue' export default { components: { mpBaiduMap }, data () { return { longitude: 116.404, latitude: 39.915, markers: [{ id: 1, longitude: 116.404, latitude: 39.915, title: 'Marker' }] } }, onReady () { uni.getLocation({ type: 'gcj02', success: (res) => { this.longitude = res.longitude this.latitude = res.latitude this.markers[0].longitude = res.longitude this.markers[0].latitude = res.latitude } }) } } </script> ``` 在onReady生命周期函数中,调用uni.getLocation获取当前位置的经纬度信息,并将其赋值给longitude和latitude变量。然后将这些信息传递给mp-baidu-map组件,以显示当前位置的地图。 注意:这里的经纬度是使用GCJ-02坐标系获取的,如果需要使用WGS-84坐标系,可以将type参数设置为wgs84。 4. 在小程序平台中,需要在app.json文件中声明mp-baidu组件: ``` "usingComponents": { "mp-baidu-map": "@/components/mp-baidu-map/mp-baidu-map" } ``` 以上就是在uniapp中使用百度地图实现定位功能并兼容小程序的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值