- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个项目,我正在创建一个用于浇灌植物的java应用程序。从网上获取天气信息并基于该输出的想法应该是我们的植物是否需要水。对于天气信息,我找到了一个API OpenWeatherMap,我尝试使用 YouTube 的教育视频来实现它。我过去没有使用 API 的经验。我正在使用的视频是“https://www.youtube.com/watch?v=og5h5ppwXgU”。我尝试按照那个人的方式实现我的程序,但我没有得到任何输出。它只是打印打印语句中的内容,而不是实际数据。
public static Map<String,Object> jsonToMap(String str){
Map<String,Object> map = new Gson().fromJson(str,new
TypeToken<HashMap<String,Object>> () {}.getType());
return map;
}
public static void main(String[] args) {
String API_KEY = "16 digit Private Key";
String LOCATION = "Los Angeles,CA";
String urlString = "http://api.openweathermap.org/data/2.5/weather?
q=" + LOCATION + "&appid=" + API_KEY + "&units =imperial";
try{
StringBuilder result = new StringBuilder();
URL url = new URL(urlString);
URLConnection conn = url.openConnection();
BufferedReader rd = new BufferedReader(new InputStreamReader (conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null){
result.append(line);
}
rd.close();
System.out.println(result);
Map<String, Object > respMap = jsonToMap (result.toString());
Map<String, Object > mainMap = jsonToMap (respMap.get("main").toString());
Map<String, Object > windMap = jsonToMap (respMap.get("wind").toString());
System.out.println("Current Temperature: " + mainMap.get("temp") );
System.out.println("Current Humidity: " + mainMap.get("humidity") );
System.out.println("Wind Speed: " + windMap.get("speed") );
System.out.println("Wind Angle: " + windMap.get("deg") );
}catch (IOException e){
System.out.println(e.getMessage());
}
}
我收到了 gson 库不存在的错误,但是在我使用 javadoc、类路径和源在 net beans 中创建了自己的库之后,问题得到了解决,所以我认为这是正确的。openweathermap 的 API key 也是也有效。我只是无法获取获取在线信息的代码。
输出:
http://api.openweathermap.org/data/2.5/weatherq=Los洛杉矶,CA&appid="16 位私钥"&单位=帝国
预期输出:洛杉矶当前天气信息
最佳答案
具有给定纬度和经度的 OpenWeatherMapApi 的实现。对于网络请求Retrofit & Jsonschema2pojo创建模型。希望这会有所帮助。
public void getWeatherDetails(double latitude, double longitude) {
String url = "http://api.openweathermap.org/";
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url) //This is the only mandatory call on Builder object.
.addConverterFactory(GsonConverterFactory.create()) // Convertor library used to convert response into POJO
.build();
WeatherApiService weatherApiService = retrofit.create(WeatherApiService.class);
weatherApiService.requestWeather(String.valueOf(latitude), String.valueOf(longitude), "metric", "10").enqueue(new UpasargaCallback<WeatherModel>() {
@Override
public void onResponse(Call<WeatherModel> call, Response<WeatherModel> response) {
if (response.isSuccessful()) {
if (response.body() != null) {
if (getView() != null) {
getView().onWeatherApiSuccess(response.body());
}
}
}
}
@Override
public void onFailure(Call<WeatherModel> call, Throwable t) {
if (getView() != null) {
getView().onWeatherApiFailure(String.valueOf(t.getMessage()));
}
}
});
}
WeatherApiService
public interface WeatherApiService {
@Headers("x-api-key: " + AppConstants.WEATHER_API_KEY)
@GET("data/2.5/forecast")
Call<WeatherModel> requestWeather(@Query("lat") String lat,@Query("lon") String lon,@Query("units") String units,@Query("cnt") String count);
}
关于java - OpenWeatherMap API Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58759133/
我正在使用Open Weather Map API用于天气预报。当前可用版本是 2.5这是 XML 片段 ... ... 这里是the API request . 有人知道降水量字
我正在尝试将 openweathermap 用于我的 python 应用程序,但存在问题。我对这个链接做了一个简单的请求:http://api.openweathermap.org/data/2.5/
我正在尝试实现一个 iphone 应用程序,并且我正在集成 OpenWeatherMap 来检索当前天气。但是,我注意到返回的数据不正确(偏离大约 39 华氏度)。 下面是我用来检索美国丹佛当前天气的
使用 openweathermap api,如何使用 javascript 获取某一天的平均温度。我知道我的能力有限,只能在接下来的 5 天内完成。我一直在寻找,但找不到一种方法来做到这一点,也没有看
我刚刚创建了一个帐户 OpenWeatherMap 我想通过城市 ID API 调用获取当前位置的天气: http://api.openweathermap.org/data/2.5/weather?
我试图从值中检索 Main 和 Description,但它没有显示在 UILabel 中。所有其他参数都显示良好。如温度、最高和最低温度、风速和风向。我在使用天气图标时也遇到困难,如果我的代码正确,
我正在使用 OpenWeatherMap 获取我的应用程序的天气数据。通过响应数据,openweather 正在发送一个天气图标代码,并且他们有一个非常小的代码的特定图标,但我想要一个更大的图标用于我
我正在开发一个 Android 应用程序,我需要我所在城市的当前天气及其低温/高温。有没有办法获取我所在城市的当前高温和低温? 我发现有最低/最高温度,但我认为这不是我要找的。如果 openweath
我正在使用 openweathermap.org api,它为我提供了错误的输出。 如果我点击 this url ,我得到以下输出: "{"coord":{"lon":-121.96,"lat":37
问题是当我获取 URL 来获取预测的 JSON 文件时,它给了我一个 40 对象的数组(每 3 小时预测一次,持续 5 天),现在我只想显示每日预报,而非每 3 小时预报。 我怎样才能用 JavaSc
我想要获取 openweathermap 图标。 https://openweathermap.org/weather-conditions和 http://samples.openweatherma
我正在开发一个项目,我正在创建一个用于浇灌植物的java应用程序。从网上获取天气信息并基于该输出的想法应该是我们的植物是否需要水。对于天气信息,我找到了一个API OpenWeatherMap,我尝试
我正在尝试按纬度和经度获取当前天气数据。这是我的 Python 代码的一部分: import requests def get_weather(lat, lon): return reques
我目前正在学习如何通过学习 Udacity 关于构建天气应用程序的 Android 类(class)来创建 Android 应用程序。一项要求是使用 http://api.openweathermap
我正在尝试根据我通过 .geolocation 访问的用户的经度和纬度来定义搜索城市 将经度和纬度添加到我的网址时出现此错误 cod : "400" message :
我正在尝试获取某些城市的天气信息(城市是动态变化的),我发现了这个 map API,它非常容易集成。但一旦我尝试过,即使我给出了另一个城市(例如慕尼黑)的经纬度,它也只显示莫斯科。 这是代码:
Weather : {{ weather.weather[0].description }
我正在尝试使用 Openweathermap 获取城市的天气信息使用此代码: func getWeatherByCity(city: String) { if let weatherReque
我想知道我是否可以使用 openweathermap api 调用一个请求来立即获取有关(今天和所有工作日)的数据!我试过了>> http://api.openweathermap.org/data/
我正在尝试使用 JS Fetch API 获取 5 天的天气预报,尽管我按照文档中的说明传递了 cnt=5,但我仍然只获取当前天气。我错过了什么吗? fetch('https://api.openwe
我是一名优秀的程序员,十分优秀!