百度地图 appkey_android,uniapp-高德地图Android appkey申请与使用

博客主要讲述了uniapp中含map地图模块打包时,需勾选该模块、选择高德/百度地图并填写appkey,否则会提示找不到maps模块。还记录了在eclipse中获取SHA1的过程,包括下载安装JDK和eclipse,以及在操作中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

uniapp中如果含有map地图模块,打包时需要勾选该模块,并选择高德/百度地图、填写他们的appkey,不然打包后会提示找不到maps模块。

上面这是高德地图的官方说明文档,但是其中涉及到的安卓开发软件,如:

这些是我没见过的,所以记录一下获取SHA1的过程。

二、eclipse安装并获取SHA1

下载完成后:

双击运行,却在浏览器弹出提示界面:

大概意思是说我的电脑没有安装eclipse所需的java环境,页面拉到下面可以看到Java Development Kit(JDK)的下载链接,选择第一个下载:

居然有100多M ε=ε=ε=(#>д

好不容易下载完了,安装挺快的

然后再安装eclipse

选第一个。

接受许可:

弹出黄色窗口,好像说我安装过程花的时间比较长了:

另一个黄色提示,好像也是因为下载比较慢:

证书,我全部勾选了:

然后就安装完成了。

高德地图文档里说在Window -> Preferances -> Android -> Build中找到SHA1,但是我找不到这个Android 菜单项ε=ε=ε=(#>д

<think>嗯,用户想了解如何在UniApp中获取高德地图的经纬度。首先,我需要回忆一下UniApp定位相关API。UniApp本身提供了uni.getLocation方法,但默认可能使用的是系统自带的定位服务,比如在微信小程序里会是腾讯地图。所以用户可能需要切换到高德地图定位服务。 接下来,用户可能需要配置高德地图的SDK,尤其是在各平台的小程序或App中。比如,微信小程序需要在小程序管理后台设置高德地图的密钥,App端可能需要引入高德地图的SDK并配置相关权限。 然后,代码部分需要区分不同平台。H5端可能需要使用高德地图的JavaScript API,而小程序和App端可能需要不同的处理方式。需要注意H5端获取定位可能会有跨域问题,或者需要用户授权。 权限配置也是关键,比如在App的manifest.json里添加高德地图AppKey,还有在Android和iOS的配置文件中添加定位权限声明。用户可能容易忽略这些步骤,导致定位功能无法使用。 另外,示例代码的结构需要清晰,展示如何调用uni.getLocation并处理不同平台的返回结果。可能还需要处理用户拒绝授权的情况,提供友好的提示。同时,要注意在高德地图后台创建应用并获取Key,这部分用户可能需要指导。 最后,需要提醒用户测试时的注意事项,比如真机调试和权限申请,确保功能正常。可能还需要提到坐标系的差异,高德地图使用GCJ-02,而UniApp默认可能返回其他坐标系,需要确认配置正确。</think>在UniApp中获取高德地图的经纬度,需要通过以下步骤实现: 1. **配置高德地图Key** -高德开放平台(https://lbs.amap.com)注册账号并创建应用 - 获取Web服务的JS API Key(H5端使用)和小程序Key(小程序端使用) 2. **manifest.json配置** ```json // 在manifest.json的"App模块配置"中添加 "Geolocation": { "enableHighAccuracy": true }, "Permission": { "android": { "request": [ "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" ] } } ``` 3. **核心代码示例** ```javascript // 获取定位权限 function getLocation() { uni.authorize({ scope: 'scope.userLocation', success: () => { // 授权成功 requestLocation(); }, fail: () => { uni.showModal({ title: '提示', content: '需要获取您的地理位置', success(res) { if (res.confirm) { uni.openSetting(); // 打开设置页面 } } }); } }); } // 获取具体位置 function requestLocation() { uni.getLocation({ type: 'gcj02', // 必须使用高德坐标系 altitude: true, success: (res) => { console.log('高德经纬度:', { latitude: res.latitude, longitude: res.longitude }); // 这里可以调用高德逆地理编码API获取详细地址 // https://lbs.amap.com/api/webservice/guide/api/georegeo }, fail: (err) => { console.error('定位失败:', err); uni.showToast({ title: '定位失败', icon: 'none' }); } }); } // 注意:小程序需要额外配置 // 在manifest.json的mp-weixin节点下添加 "requiredPrivateInfos": ["getLocation"] ``` 4. **平台差异处理** - **H5端**:需要在高德控制台配置安全域名 - **小程序**:需在小程序管理后台配置request合法域名 ``` https://restapi.amap.com ``` - **App端**:需要添加原生定位权限 5. **注意事项** - 安卓需要动态申请权限 - iOS需要配置NSLocationWhenInUseUsageDescription - 高德坐标系为GCJ-02,其他坐标系(如WGS84)存在偏移 - 单次定位误差范围约在10-50米之间 建议配合高德地图的逆地理编码API使用,可将经纬度转换为具体地址信息: ```javascript function regeo(latitude, longitude) { uni.request({ url: 'https://restapi.amap.com/v3/geocode/regeo', data: { key: '你的高德Key', location: `${longitude},${latitude}`, radius: 50 }, success: (res) => { const address = res.data.regeocode.formatted_address; console.log('详细地址:', address); } }); } ``` 测试时建议使用真机调试,首次定位可能需要较长时间(约3-5秒),后续定位会有缓存加速。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值