前言:

本篇文章使用的腾讯地图的api,获取当前地址是uniapp的,也可以根据其他地图进行查找。获取到当前城市坐标也可以自行使用其他的地图。


目录

一、首先获取用户所在地

1.获取授权信息

2.获取地理位置

3.根据地理位置查找城市

4.城市的信息


一、首先获取用户所在地

1.获取授权信息

    const that=this         
    uni.authorize({
        scope: 'scope.userLocation', // 获取地理信息必填的参数,其它参数见文档
        success(res) {
             that.getLocationFn()
          },
         // 授权失败
          fail(err) {
              uni.showModal({
                   title: '温馨提示',
                   content: '此功能需要授权后使用!',
                   confirmText: '前去授权',
                   success(res){
                        if(res.confirm){
                            uni.openSetting({
                                success(res) {//打开设置页面
                                }
                            }else if(res.cancel){

                            }
                        }
                    })
            }
                 
       })

2.获取地理位置

     uni.getLocation({
                type: 'gcj02', // <map> 组件默认为国测局坐标gcj02
                altitude: true,
                success(res) {
                    console.log('返回的位置信息', res)
                }
            })

3.根据地理位置查找城市

获取密钥

//腾讯地图上有个api 叫逆地理位置解析可通过下标去获取城市名称及编号 
//reverseGeocoder(options:Object)
//  本接口提供由坐标到坐标所在位置的文字描述的转换,输入坐标返回地理位置信息和附近poi列表。

var QQMapWX = require('xxx/qqmap-wx.js');
 
// 实例化API核心类
var qqmapsdk = new QQMapWX({
    key: '开发密钥(key)' // 必填
});  
 
 qqmapsdk.reverseGeocoder({
   //Object格式
        location: {
          latitude: 39.984060,
          longitude: 116.307520
        }, success: function(res) {//成功后的回调
        console.log(res.result.ad_info);//查找城市编号
    },fail: function(error) {
        console.error(error);
      },
      complete: function(res) {
        console.log(res);
      }
 });

4.城市的信息

返回城市信息:点击查看详细返回数据表

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐