【高德地图-JS】使用高德地图调用天气接口(直接调用天气接口,不安装loader包)

效果

具体操作

天气查询API服务地址:

URL

https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=<用户key>

请求方式

GET

在vue.config.js中配置proxy,解决项目中跨域问题

 devServer: {
    host: "0.0.0.0",
    port: port,
    open: true,
    proxy: {
      "/api": {
        target: "https://restapi.amap.com",
        changeOrigin: true,
        pathRewrite: {
          "^/api": "",
        },
      },
    },
    disableHostCheck: true,
  },

封装接口 

import axios from "axios";

const instance = axios.create({
  baseURL: "/api",
  timeout: 10000,
});

export function get(url, params) {
  return instance.get(url, { params });
}

export function getWeather() {
  return get("/v3/weather/weatherInfo", {
    city: " ", //城市代码
    key: " ", //高德KEY
  });
}

组件中调用接口

import { getWeather } from "@/api/weather.js";


mounted(){
 getWeather().then((res) => {
      console.log('天气',res.data.lives[0]) 
    });
}

官网参考

天气查询-API文档-开发指南-Web服务 API | 高德地图API (amap.com)

### 集成高德地图天气预报功能 #### 准备工作 为了能够在 UniApp 中成功调用高德地图 API 来获取天气预报,需先完成如下准备工作: - **注册并获得API Key** 访问高德开放平台 (https://lbs.amap.com),创建应用并取得合法的 API key。此 key 将用于后续所有的接口请求验证。 #### 引入必要的库文件 在项目中引入处理高德地图服务所需的工具类或 SDK 文件。对于 H5 平台而言,可以通过 npm 安装 `@amap/amap-jsapi-loader` 或者直接下载官方提供的 js 库来实现[^2]。 ```javascript // main.js or app.vue import Vue from 'vue'; import App from './App'; Vue.config.productionTip = false; // 加载AMap JS API loader const amapKey = "your_amap_key"; // 替换为实际申请得到的应用key window._AMapSecurityConfig = { securityJsCode: amapKey, }; require('@amap/amap-jsapi-loader'); ``` #### 实现具体的功能逻辑 定义一个名为 `getWeatherForecast` 的异步函数,在其中封装对高德地图天气预报接口的具体调用过程,并设置相应的参数配置以及成功的回调处理方式[^1]。 ```javascript export default { data() { return {}; }, methods: { async getWeatherForecast(location) { const myAmapFun = new AMap.Force(); try { let result = await myAmapFun.getWeather({ city: location, // 城市名称或者城市编码 }); console.log('weather forecast:', result); } catch(errorInfo){ console.error('Failed to fetch weather info', errorInfo); } } } } ``` 需要注意的是,当遇到诸如 KEY 错误等问题时,应该按照官方文档指引仔细核对自己的 SHA1 和名等信息是否匹配正确[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值