20220626-JAVA高德地图天气API调用总结

本文总结了如何使用JAVA调用高德地图的天气API,从申请API密钥到理解JSON格式,再到创建实体类和编写代码,整个过程简单易用。

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

AutoNavi——Weather API Usage

Background

I need information of weather forecast ,so I choose AutoNavi API as it is widely used in China


Website
https://lbs.amap.com
Apply for Key

image-20220624200829566

Document Download
https://lbs.amap.com/api/webservice/download

#部分数据<adcode>
厦门市	350200	0592
厦门市市辖区	350201	0592
思明区	350203	0592
海沧区	350205	0592
湖里区	350206	0592
集美区	350211	0592
同安区	350212	0592
翔安区	350213	0592
API format
#返回预报天气
https://restapi.amap.com/v3/weather/weatherInfo?city=<adcode>&key=<用户key>&extensions=all
#返回实况天气
https://restapi.amap.com/v3/weather/weatherInfo?city=<adcode>&key=<用户key>&extensions=base
Json Entities Class
@Data
public class WeatherDTO {
   
    private String status;
    private String count;
    private String info;
    private String infocode;
    private ArrayList<Forecast> forecasts;
}


@Data
public class Forecast {
   
   private
### 如何使用Java调用高德地图API #### 创建Java项目并引入依赖库 为了简化HTTP请求处理,在Maven项目的`pom.xml`文件中加入Apache HttpClient作为依赖: ```xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> ``` #### 获取开发者密钥 访问[高德开放平台](https://lbs.amap.com/)注册账号并创建应用以获得专属的Web服务API Key。 #### 编写地理编码接口调用示例 下面是一个简单的例子展示怎样把地址转成经纬度坐标: ```java import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class GeoCoderExample { private static final String API_KEY = "your_api_key_here"; // 替换成自己的key public static void main(String[] args) throws Exception { CloseableHttpClient httpClient = HttpClients.createDefault(); try { String address = URLEncoder.encode("北京市朝阳区阜通东大街6号", "UTF-8"); String url = "https://restapi.amap.com/v3/geocode/geo?address=" + address + "&output=JSON&key=" + API_KEY; HttpGet request = new HttpGet(url); CloseableHttpResponse response = httpClient.execute(request); if (response.getStatusLine().getStatusCode() == 200) { System.out.println(EntityUtils.toString(response.getEntity())); } } finally { httpClient.close(); } } } ``` 此程序发送GET请求给指定URL,并打印返回的结果。注意要将`your_api_key_here`替换成实际申请得到的应用秘钥[^1]。 对于更复杂的场景比如路径规划,则可以参照如下方式构建POST请求,设置出发点起点终点参数等细节[^2]。 ```java HttpPost postRequest = new HttpPost("https://restapi.amap.com/v3/direction/driving"); List<NameValuePair> params = Arrays.asList( new BasicNameValuePair("origin","116.481499,39.990475"), new BasicNameValuePair("destination","116.465396,40.004717"), new BasicNameValuePair("key", API_KEY)); postRequest.setEntity(new UrlEncodedFormEntity(params)); ``` 最后从Json对象里读取地理位置字符串: ```java coordinateString = pathArray.getJSONObject(0).getString("location") ; ``` 上述代码片段展示了如何解析返回的数据流,从中抽取所需的经度纬度信息[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值