2016-11-25 22 views
0

APIを使用してローカル天気アプリを構築しようとしています。 基本的に私のコードは、latitudeとlonをgoogleに送り、それを別のパーティーに渡して、都市が何であるかを把握し、それを与えて天気の最終的な要求をします。APIの問題

私は魔女市の要求へのリンクを持っています私は、緯度と経度

を持っています、私は内部の街を置くにはどうすればよいの各都市

の天気を持っています

です天気のための最終的な要求をするための小麦のURL?

申し訳ありませんが非常に乱雑ですが、私はAPIについても、HTMLでjavascriptを使用するかについて多くを理解していません。あなたが私を助けることができる情報源を知っているなら、私はそれを評価するでしょう。おかげさまで

プロジェクトから見たい場合のコードは次のとおりです。私が知っている http://codepen.io/Lbg232/pen/YpVgyJ?editors=1011

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> 
<script> 

    //I don't really know what is this for. 
    var options = { 
    enableHighAccuracy: true, 
    timeout: 5000, 
    maximumAge: 0 
}; 


function success(pos) { 
    var crd = pos.coords; 

    console.log('Latitude : ' + crd.latitude); //It does print it (it works) 
    console.log('Longitude: ' + crd.longitude); 

    //This is the link ready to ask for the JSON 
    var finUrl = "http://api.wunderground.com/api/b2383764d2fa3c12/geolookup/q/" + crd.latitude + "," + crd.longitude + ".json"; 

    console.log(finUrl); //it prints the link 

}; 


function error(err) { 
    console.warn('ERROR(' + err.code + '): ' + err.message); 
}; 

navigator.geolocation.getCurrentPosition(success, error, options); 


//The request for the weather in a spacific city.  
jQuery(document).ready(function($) { 
    $.ajax({ 

    //I wanted to put the specific city and country. 
    url : "http://api.wunderground.com/api/b2383764d2fa3c12/geolookup/conditions/q/CL/Santiago.json", 

    dataType : "jsonp", 
    success : function(parsed_json) { 
    var location = parsed_json['location']['city']; 
    var temp_f = parsed_json['current_observation']['temp_c']; 
    alert("Current temperature in " + location + " is: " + temp_f); 
    }   
    }); 
}); 
</script> 

は非常に具体的な質問ではありません、それは、スタックオーバーフローのために非常にapropiateはありませんが、私は答えを見つけることができません。ありがとう。

答えて

0

このURL(http://api.wunderground.com/api/b2383764d2fa3c12/geolookup/conditions/q/CL/Santiago.json)のCLとサンティアゴを他の都市や国で置き換えたいとしますか?そうならば、あなたはこのような都市や国の名前を返す別の関数を作成することができます今すぐ

function getCurrentCityAndCountry(){ 
var cityAndCountry; 
var result = "http://api.wunderground.com/api/b2383764d2fa3c12/geolookup/q/" + crd.latitude + "," + crd.longitude + ".json"; 
if(result){ 
    cityAndCountry = { 
     city: location.city, 
     country:location.country_name 
    } 
} 
return cityAndCountry; 
}; 

をあなたが最後のAPIを呼び出す前に、都市や国の名前を取得するために上記で作成した関数を呼び出し、そして置きますそれらのURLで

var cityAndCountry = getCurrentCityAndCountry(); 
url : "http://api.wunderground.com/api/b2383764d2fa3c12/geolookup/conditions/q/"+cityAndCountry.city+"/"+cityAndCountry.country+".json" 
+0

したがって、Webページはapiを送信し、それを "結果"に保存しますか? – lbg232