unicloud云开发进阶28-项目12引入公共库获取高德IP的API接口地图

140 阅读1分钟

IP定位

IP定位是通过用户的IP地址定位用户的地址

使用这个服务需要申请

image.png

注册后,在应用管理、我的应用里,点击创建新应用

image.png

点添加 image.png

key是自定义的名,选web服务提交就行了 image.png

image.png

在IP定位文档中,把API的url地址复制到项目中中进行测试,把申请的key粘在问号后面测试

https://restapi.amap.com/v3/ip?key=39ed194180a6414d9650bbdfe6386814

测试需要申请一个key image.png

在utils文件中,tools文件里增加一个获取定位的函数

// 高德API
export function getProvince(){
  uni.request({
    url:"https://restapi.amap.com/v3/ip?key=39ed194180a6414d9650bbdfe6386814",
    success:res=> {
      console.log(res);
    }
  })
}

在编辑页面引入并使用这个函数

<script>
  import {getImgSrc,getProvince} from "@/uatils/tools.js"

在onload中调用这个方法,页面加载完成后就调用这个方法获取地址

    onLoad() {
      getProvince()
    }, 

返回值: image.png

通过promise返回省份

// 高德API
export function getProvince() {
  // resolve是成功的返回值,reject是异常的返回值
  return new Promise((resolve, reject) => {
    uni.request({
      url: "https://restapi.amap.com/v3/ip?key=39ed194180a6414d9650bbdfe6386814",
      success: res => {
        // 使用resolve返回结果
        resolve(res.data.province);
      },
      fail:err=>{
        reject(err)
      }
    })
  })
}

在onload方法中通过then获取结果

    onLoad() {
      getProvince().then(res=>{
        console.log(res);
      })
    }, 

image.png