3

openweathermap.org APIを使用していますが、正しくない出力が表示されます。

この URLにアクセスすると、次の出力が得られます。

"{"coord":{"lon":-121.96,"lat":37.83},"weather":[{"id":721,"main":"Haze","description":"haze","icon":"50n"}],"base":"stations","main":{"temp":281.21,"pressure":1030,"humidity":81,"temp_min":273.15,"temp_max":285.15},"visibility":11265,"wind":{"speed":1.07,"deg":54.0019},"clouds":{"all":1},"dt":1454739836,"sys":{"type":1,"id":409,"message":0.0189,"country":"US","sunrise":1454771247,"sunset":1454809012},"id":5342970,"name":"Diablo","cod":200}"

phpcurlまたは経由で同じ URL を呼び出すとfile_get_contents、次の出力が得られます。

"{"coord":{"lon":-121.96,"lat":37.83},"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"base":"cmc stations","main":{"temp":275.178,"pressure":1022.49,"humidity":83,"temp_min":275.178,"temp_max":275.178,"sea_level":1043.42,"grnd_level":1022.49},"wind":{"speed":1.07,"deg":356.501},"clouds":{"all":12},"dt":1454738179,"sys":{"message":0.0112,"country":"US","sunrise":1454771247,"sunset":1454809011},"id":5342970,"name":"Diablo","cod":200}"

なぜ違うのですか?

4

1 に答える 1

0

問題がわかりません。経度 ( )、緯度 ( )、都市 ID ( )、および都市名 ( ) に対してまったく同じ値が返されます。これは、両方の結果が同じ場所からの結果を表していることを明確に示しています。-121.9637.835342970Diablo

両方の結果の小さな違いは、おそらく天候の小さな変化、または別のサーバーまたは気象観測所から得られた結果 (baseプロパティの異なる値が示唆しているようです) によって引き起こされます。

これらの小さな違いについては気にしません。ただし、別の懸念事項があります (以下のメモを参照してください)。


ノート :

zipパラメータの動作は信頼できません。私の場所 (ベルギー) からブラウザで URL を開くと、期待どおりの結果が得られることもあれば、次のエラーが発生することもあります。

{"cod":"404","message":"Error: Not found city"}

この問題を回避するには、次のオプションのいずれかを使用することをお勧めします。

  • q都市名と国を値として持つパラメーター:

    http://api.openweathermap.org/data/2.5/weather?appid=35d3153a253e2536f49f02fd8080dfc2&q=Diablo,US

  • id市区町村 ID を値とするパラメータ:

    http://api.openweathermap.org/data/2.5/weather?appid=35d3153a253e2536f49f02fd8080dfc2&id=5342970
    (サポートされているすべての都市 ID のリストは、ここからダウンロードできます)

  • latlon緯度と経度を値とする&パラメータ:

    http://api.openweathermap.org/data/2.5/weather?appid=35d3153a253e2536f49f02fd8080dfc2&lat=37.83&lon=-121.96
    (このサポートされている都市のリストで 、あなたの都市の緯度と経度を見つけることもできます)

詳細については、API ドキュメントを参照してください。

于 2016-03-11T08:15:21.287 に答える