使用高德获取当前城市的天气信息

先看简单效果图:

1.创建账号:

需要在高德开放平台注册账号,并且创建对应的应用;

创建时 选择web服务即可。

创建成功后,你会得到对应的key;

2.天气信息相关文档链接

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

功能及接口介绍的非常详细,但是 我没有使用(皮一下0.0,哈哈);

    • 自己使用的方法 (附代码)
   //获取当地城市及天气
     getLngLatLocation() {
      AMap.plugin("AMap.CitySearch", function () {
        var citySearch = new AMap.CitySearch();
        citySearch.getLocalCity(function (status, result) {
          if (status === "complete" && result.info === "OK") {
            // 查询成功,result即为当前所在城市信息
            // console.log("通过ip获取当前城市:", result);
            AMap.plugin("AMap.Weather", function () {
              //创建天气查询实例
              var weather = new AMap.Weather();
              //执行实时天气信息查询
              weather.getLive(result.city, function (err, data) {
                if (data) {
                  let weatherObj = {
                    weather: data.weather, //🌤
                    temperature: data.temperature, //温度 这里的温度应该是实时,我没有用
                    city: data.city, //城市
                    windDirection: data.windDirection, //风向"东北"
                    windPower: data.windPower //风力 "≤3"
                  };
                  localStorage.setItem(
                    "WEATHER_INFO",
                    JSON.stringify(weatherObj)
                  );
                }else{
                  console.log(err);
                }
              });

              //执行实时天气信息查询 主要为了获取当天的 最低温度 + 最高温度
              weather.getForecast(result.city, function (err, data) {
                if (data) {
                  const list = data.forecasts[0]
                  //温度
                  temperature = list.dayTemp + '~' + list.nightTemp;
                  localStorage.setItem(
                    "WEATHER_INFO",
                    JSON.stringify(temperature)
                  );
                }else{
                  console.log(err);
                }
              });
            });
          }
        });
      });
    },

另外使用时需要引入高德,我这边因为时vue项目,所以在index.html种进行了引入;

附代码如下:


<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=这里是你在开放平台申请的key&plugin=AMap.DistrictSearch,AMap.Geocoder,AMap.DistrictLayer,AMap.AutoComplete,AMap.PlaceSearch"></script>

这样的话就可以使用常用的一些天气信息了。

写的有点烂,只是作为日常记录。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Android 应用中使用高德地图获取当前定位,你需要进行以下步骤: 1. 在高德开发者平台上注册并创建应用,获取应用的 API Key。 2. 在 AndroidManifest.xml 文件中添加以下权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ``` 3. 在 build.gradle 文件中添加以下依赖: ```gradle dependencies { implementation 'com.amap.api:location:5.3.0' } ``` 4. 在代码中初始化 AMapLocationClient 实例,并设置定位参数: ```java AMapLocationClient mLocationClient = new AMapLocationClient(getApplicationContext()); AMapLocationClientOption mLocationOption = new AMapLocationClientOption(); mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy); mLocationOption.setInterval(2000); mLocationClient.setLocationOption(mLocationOption); ``` 5. 实现 AMapLocationListener 接口,并在 onLocationChanged() 方法中处理定位结果: ```java mLocationClient.setLocationListener(new AMapLocationListener() { @Override public void onLocationChanged(AMapLocation location) { if (location != null) { double latitude = location.getLatitude(); double longitude = location.getLongitude(); // 处理定位结果 } } }); ``` 6. 开始定位: ```java mLocationClient.startLocation(); ``` 以上就是使用高德地图获取当前定位的基本步骤。你可以根据实际需求,自定义定位参数和定位结果的处理方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值