dreamsails

本地安卓项目配置

官网教程
*如果配置好编译报错:weex_amap-release.aar 如没有请忽略参考解决网址
如果需本地离线打包项目教程=》离线打报教程

获取本地jks SHA1高德申请key会用到

如有请忽略 生成本地jks文件
**记得将证书信息截图后面生成会用到**

获取已有证书SHA1

在存放证书目录打开cmd

输入: keytool -v -list -storetype jks -keystore XXX.jkskeytool -v -list -keystore keystore XXX.jkskeytool -list -v -keystore keystore XXX.jks

调试SHA1

Win+R打开新的cmd输入:*默认密码为:android

cd .android 
keytool -list -v -keystore debug.keystore
详细说明请参考高德教程

高德地图申请key

官方教程

uniapp 配置高德key

申请高德或者百度的key,在manifest.json --> App SDK中勾选地图和定位服务,在App模块权限配置中勾选Maps,这样我们可以获取更多的位置服务权限。
参考来源

uniapp编码部分

//定位权限
export const openPosition = ()=>{
    let system = uni.getSystemInfoSync()
    if(system.platform === \'android\'){//判断平台
        var context = plus.android.importClass("android.content.Context")
        var locationManager = plus.android.importClass("android.location.LocationManager")
        var main = plus.android.runtimeMainActivity()
        var mainSvr = main.getSystemService(context.LOCATION_SERVICE)
        console.log(\'GPS\',mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER))
        if(!mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)){
            uni.showModal({
                title:\'提示\',
                content:\'请打开定位服务功能\',
                showCancel:false,
                success() {
                    if(!mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)){
                        let main = plus.android.runtimeMainActivity();
                        let Intent = plus.android.importClass("android.content.Intent");
                        let mIntent = new Intent(\'android.settings.ACTION_SETTINGS\');
                        main.startActivity(mIntent);//打开系统设置GPS服务页面 
                    }else{
                        uni.showToast({
                            title:\'定位功能已启动\',
                            duration:2000
                        })
                    }
                }
            })
        }
    }
}
//获取当前的地理位置坐标
getCurLocation(){
               uni.getLocation({
                   geocode:true,
                   type: \'gcj02\',
                   success:async (res)=>{
                       let { pois } = await posToCity(
                                   {
                                     latitude: res.latitude,
                                     longitude: res.longitude,
                                   },
                                   1
                                 );
                       this.address = pois[0].title
                       this.latitude = res.latitude
                       this.longitude = res.longitude
                       uni.setStorageSync(\'latitude\',res.latitude)
                       uni.setStorageSync(\'longitude\',res.longitude)
                       this.curAddress = store.state.address.curPickAddress.title
                   }
               })
           }
// 高德坐标解析
export const posToCity = async (location, extensions = 0) => new Promise((resolve, reject) => {
  uni.request({
    url: `https://restapi.amap.com/v3/geocode/regeo`,
    method: \'GET\',
    data: {
      key: gdMapKey,
      location: `${location.longitude},${location.latitude}`,
      extensions: extensions ? \'all\' : \'base\'
    },
    success: ({data}) => {
      const {status, info, regeocode} = data
      if (status === \'1\') {
        // console.log(regeocode)
        if (\'pois\' in regeocode) {
          regeocode.pois = regeocode.pois.filter(item => typeof item.address === \'string\' && typeof item.location === \'string\').map(item => ({
            id: item.id,
            title: item.name,
            address: item.address,
            location: {
              lat: item.location.split(\',\')[1],
              lng: item.location.split(\',\')[0]
            }
          }))
        }
        resolve(regeocode)
      } else {
        reject(info)
      }
    },
    fail: err => {
      reject(err)
    }
  })
})
来源

分类:

技术点:

相关文章:

  • 2021-10-18
  • 2021-11-07
  • 2022-12-23
  • 2021-03-29
  • 2021-06-28
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
猜你喜欢
  • 2022-12-23
  • 2021-12-03
  • 2021-12-24
  • 2021-12-12
  • 2022-12-23
  • 2022-12-23
  • 2021-11-15
相关资源
相似解决方案