uniapp开发App使用定位 gcj02 获取位置详细信息并配置高德地图 SDK

在使用 (uni.getLocation) type 为 wgs84 时这个是uni 内部提供的方法我们可以获取到我们想要的信息,在想要获取详细地理位置时 type 必须为 gcj02 这时可以使用 address 这个字段(只有在App 端才可以使用)

 uni.getLocation({
   type: "gcj02",
   geocode: true,
   success: (res) => {
     console.log(res.address)  // 当前详细位置信息
   },

想要获取当前位置的详细信息的必须配置高德地图的 SDK 

首先我们先去高德开放平台申请 key

高德开放平台 | 高德地图API (amap.com) 

 根据自己的需求的选择

 

接下来就是如何去申请 SHA1 安全码 

Java Downloads | Oracle

配置 Java 环境,已配置请跳过

根据自己的电脑配置去选择

下载完成后解压

开始配置环境变量

 一定要放在最前面

检验是否安装成功,运行 cmd ,输入 java -version 

 备注:如果电脑上安装了多个版本的JRE,其版本之间会发生冲突,导致服务不能正常启动,可以查看该链接下的文档,清理多余版本的JRE,使服务正常启动。

运行 cmd 切换到安装盘下

set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin

使用 keytool -genkey 命令生成证书 

keytool -genkey -alias fs -keyalg RSA -keysize 2048 -validity 36500 -keystore fs.key

注意: fs:是证书的别名!   36500是证书有效时间:100年,自行设置!   fs.key是证书名! 

设置密匙库口令,就是设置证书密码(输入过程不会显示,输入完成直接回车)

最后 y 完成

 在你所选择的盘下会生成 fs.key 文件

 查看证书具体信息

keytool -list -v -keystore fs.key

输入密码查看详细信息

  • MD5
    证书的MD5指纹信息(安全码MD5)
  • SHA1
    证书的SHA1指纹信息(安全码SHA1)
  • SHA256
    证书的SHA256指纹信息(安全码SHA245)

去打包设置包名,证书别名看你自己设置的,选择证书文件位置

 生成 高德地图的 key

 配置项目文件 

 ios 单独申请需要 ios 开发者证书

都配置完成后使用手机去查看

以下代码中包括未获取到定位授权弹出框

uni.getLocation({
  type: "gcj02",
  geocode: true,
  success: ({ address: res }) => {
    let arr = res["city"].split("")
    let str = ""
    arr.filter(item => {
      str += item.indexOf("市") === -1 ? item : ""
    })
    this["city"] = str
  },
  fail: (error) => {
    uni.showModal({
      title: "提示",
      content: "获取定位失败,是否授权打开定位",
      success: (res) => {
        if (res["confirm"]) {
          uni.getSystemInfo({
            success: (sys) => {
              if (sys["platform"] === "ios") {
                plus.runtime.openURL("app-settings://")
              } else {
                let main = plus.android.runtimeMainActivity()
                let Intent = plus.android.importClass("android.content.Intent")
                let mIntent = new Intent("android.settings.LOCATION_SOURCE_SETTINGS")
                main.startActivity(mIntent)
              }
            }
          })
        }
      }
    })
  }
})

完结!!!

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值