jak znaleźć temperaturę miasta według długości i szerokości geograficznej ... Czy ktoś wie o usłudze z interfejsem API lub widżetem, który mógłbym użyć do wyświetlania pogody na podstawie współrzędnych geograficznych?Jak znaleźć temperaturę miasta według długości i szerokości geograficznej w systemie Android?
Odpowiedz
Możemy znaleźć temperaturę w mieście za pomocą tej klasy find_Location. w którym najpierw znaleźć lokalizację miasta przez użycie według długości i szerokości geograficznej w Androidzie? A potem użyć metody sendToURL znaleźć temperaturę przez zastosowanie 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();
}
}
Jaki jest Twój typy danych dla xpp, conec i stream? – hyperfkcb
Moja odpowiedź nie jest całkowicie doskonały, ale Yahoo Weather API może pomóc. To działało idealnie dla mnie.
W tym api musisz wybrać jedno z miast, a otrzymasz aktualne informacje o pogodzie. Musisz jednak przejść przez źródło, aby wydobyć swoją porcję.
Mam nadzieję, że to pomoże.
Wygląda na to, że mamy pełny przykład kodu na stronie anddev.org google weather api description, który powinien zawierać wszystko, czego potrzebujesz.
Google Weather API nie jest teraz obsługiwany. Tak więc powyższy kod nie zadziała teraz. Możesz użyć następującego adresu URL, przekazać swoją bieżącą lokalizację, szerokość geograficzną, a otrzymasz wynikowy plik XML, z którego możesz wyodrębnić żądane informacje.
http://forecast.weather.gov/MapClick.php?lat=40.78158&lon=-73.96648&FcstType=dwml
- 1. Jak znaleźć stopień z wartości szerokości geograficznej w systemie Android?
- 2. Obliczanie szerokości i długości geograficznej
- 3. C# - LINQ - najkrótsza odległość według szerokości i długości geograficznej GPS
- 4. Jak znaleźć odległość od szerokości i długości geograficznej dwóch lokalizacji?
- 5. przekształcić długości geograficznej szerokości geograficznej w metrach
- 6. Wyszukaj numer kierunkowy telefonu według szerokości i długości geograficznej
- 7. Jak uzyskać współrzędne długości i szerokości geograficznej z nazwy miasta i kraju w R?
- 8. Konwersja szerokości i długości geograficznej na geograficzną
- 9. Uzyskanie szerokości i długości geograficznej od adresu w Androidzie
- 10. KDTree dla długości/szerokości geograficznej
- 11. Parsowanie szerokości i długości geograficznej z Ruby
- 12. Jak uzyskać identyfikator miejsca miasta z szerokości/długości geograficznej za pomocą interfejsu Facebook API
- 13. Obliczanie szerokości geograficznej długości geograficznej punktu środkowego wielokąta w PHP
- 14. Punkt szerokości geograficznej szerokości geograficznej w php przy podanej początkowej długości lng, odległości i namiaru
- 15. Sprawdzanie szerokości i szerokości geograficznej
- 16. Jak obliczyć odległość między dwoma punktami szerokości i długości geograficznej?
- 17. sortować według szerokości geograficznej w geodjango
- 18. Łańcuch do szerokości i szerokości geograficznej CLLocation
- 19. Inicjalizacja obiektu CLLocation w Swift z szerokości i długości geograficznej
- 20. Uzyskiwanie podobnej długości i szerokości geograficznej z bazy danych
- 21. pozytywny/negatywny szerokości i długości geograficznej wartości vs. strony świata
- 22. uzyskać Strefę czasową za pomocą szerokości i długości geograficznej?
- 23. Algorytm obliczania najbliższego położenia na podstawie długości i szerokości geograficznej
- 24. Typ danych szerokości i długości geograficznej SQL Server
- 25. Stosowanie regeocode do listy współrzędnych długości i szerokości geograficznej
- 26. Jak wykreślić współrzędne szerokości/długości geograficznej na ekranie?
- 27. Konwersja szerokości i długości geograficznej na układ współrzędnych ECEF
- 28. Zestaw danych szerokości i długości geograficznej dla granic kraju
- 29. iOS - Otwieranie map Apple z kierunkami długości i szerokości geograficznej
- 30. Prawidłowy typ danych dla szerokości i długości geograficznej? (in activerecord)
Sprawdź to, http://stackoverflow.com/questions/951839/api-to-get-weather-based-on-longitude-and-latitude-coordinates – Randroid