如何查找經度和緯度的城市溫度.... 有誰知道一個API或一個小部件的服務,我可以用它來顯示基於地理座標的天氣?如何通過android中的經度和緯度查找城市溫度?
11
A
回答
24
我們可以使用find_Location類找到城市temp。首先通過android中的經度和緯度查找城市位置?而在這之後使用的方法SendToUrl找到使用GoogleXML溫度「http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query=」
public void find_Location(Context con)
{
Log.d("Find Location", "in find_location");
this.con=con;
String location_context = Context.LOCATION_SERVICE;
locationManager = (LocationManager)con.getSystemService(location_context);
List<String> providers = locationManager.getProviders(true);
for (String provider : providers)
{
locationManager.requestLocationUpdates(provider, 1000, 0,new LocationListener()
{
public void onLocationChanged(Location location) {}
public void onProviderDisabled(String provider){}
public void onProviderEnabled(String provider){}
public void onStatusChanged(String provider, int status,Bundle extras){}
});
Location location = locationManager.getLastKnownLocation(provider);
if (location != null)
{
latitude = location.getLatitude();
longitude = location.getLongitude();
addr=ConvertPointToLocation(latitude,longitude);
String temp_c=SendToUrl(addr);
}
}
}
public String ConvertPointToLocation(double pointlat,double pointlog) {
String address = "";
Geocoder geoCoder = new Geocoder(con,
Locale.getDefault());
try {
List<Address> addresses = geoCoder.getFromLocation(pointlat,pointlog, 1);
if (addresses.size() > 0) {
for (int index = 0; index < addresses.get(0)
.getMaxAddressLineIndex(); index++)
address += addresses.get(0).getAddressLine(index) + " ";
}
}
catch (IOException e) {
e.printStackTrace();
}
return address;
}
private String SendToUrl(String string) {
// TODO Auto-generated method stub
try{
string=string.replace(" ","%20");
String queryString="http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query="+string;
url= new URL(queryString);
conec= url.openConnection();
stream = conec.getInputStream();
xpp = XmlPullParserFactory.newInstance().newPullParser();
xpp.setInput(stream, null);
int eventType = xpp.getEventType();
while(eventType != XmlPullParser.END_DOCUMENT)
{
if(eventType == XmlPullParser.START_TAG)
{String elementName = xpp.getName();
if("temp_c".equals(elementName))
{
int acount=xpp.getAttributeCount();
for(int x=0;x<acount;x++)
{
xpp.getAttributeValue(x);
String str=xpp.getAttributeValue(x);
return str;
}
}
}
eventType = xpp.next();
}
}
+0
你是什麼xpp,conec和stream的數據類型? – hyperfkcb
2
我的答案是不完全完美,但Yahoo Weather API可以幫助你。這對我來說非常合適。
在這個API中,你必須選擇一個城市,然後你會得到天氣更新。但是你必須通過源代碼來提取你的部分。
希望這會有所幫助。
2
anddev.org google weather api description上似乎有一個完整的代碼示例,其中應包括您需要的所有內容。
3
Google Weather API現在不受支持。所以上面的代碼現在不能工作。 您可以使用以下網址,傳遞您當前位置的緯度,經度,您將得到從中可以提取所需信息的結果xml。
http://forecast.weather.gov/MapClick.php?lat=40.78158&lon=-73.96648&FcstType=dwml
相關問題
- 1. 按城市或經度和緯度
- 2. 使用經度和緯度查找城市和州名稱
- 3. 過濾城市的經緯度與其他城市的距離(經緯度)?
- 4. 如何從經度和緯度找到城市?
- 5. 查找與經度/緯度最接近的城市
- 6. 如何獲取城市的經緯度?
- 7. Javascript:使用緯度/經度查找城市?
- 8. 城市通過GPS位置緯度/經度
- 9. 獲取特定城市的緯度和經度android
- 10. 如何從城市名稱中查找經緯度
- 11. 如何從城市名稱獲取經度,緯度android代碼
- 12. 查找經度和緯度
- 13. 如何轉換經度和緯度到國家或城市?
- 14. 如何從經度和緯度得到城市名稱?
- 15. 如何根據緯度和經度獲取城市?
- 16. 如何查找緯度和經度
- 17. 緯度和經度放置在.NET中的名稱或城市
- 18. 如何在JavaScript中找到經緯度的城市名稱?
- 19. 使用經度和緯度查找使用MySQL最接近的10個城市?
- 20. 如何經度閱讀國家城市緯度的地圖API
- 21. 通過Java中的郵政編碼查找緯度和經度
- 22. 從城市名稱獲取經緯度
- 23. 從經緯度獲取城市名稱
- 24. 如何在Android中通過GPS獲取經度和緯度?
- 25. 通過緯度和經度查找最近的地方
- 26. 想要使用城市的經度和緯度來表示我們城市的城市
- 27. 檢查一個城市是在一個東北經緯度和西南緯度/經度國家
- 28. 如何找到經度和緯度
- 29. 通過緯度和經度查找位置
- 30. 查找包含經度和緯度
檢查這一點, http://stackoverflow.com/questions/951839/api-to-get-weather-based-on-longitude-and-latitude-coordinates – Randroid