2014-04-08 57 views
-1

我會用我前言本我仍然相當新的編程和仍然在學習所有的工具,使互聯網的魔力。我一直在試圖弄清楚如何從aviationweather.gov網站獲取Schema數據,並在點擊標記時在谷歌地圖中顯示結果。我很確定我的問題大部分都不知道正確的語言,但任何幫助都非常感謝。顯示在谷歌地圖泡沫FAA METAR數據

我一直在使用的網址:

<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XML-Schema-instance" version="1.2" xsi:noNamespaceSchemaLocation="http://aviationweather.gov/adds/schema/metar1_2.xsd"> 
<request_index>59551517</request_index> 
<data_source name="metars"/> 
<request type="retrieve"/> 
<errors/> 
<warnings/> 
<time_taken_ms>2</time_taken_ms> 
<data num_results="1"> 
<METAR> 
<raw_text> 
PAJN 080553Z 06006KT 7SM -RA FEW006 FEW024 OVC032 06/04 A2942 RMK AO2 SLP962 P0006 60010 T00560044 10083 20056 51001 
</raw_text> 
</METAR> 
</data> 
</response> 

機場:朱諾國際機場
緯度/經度:58.3586835,-134.5833512

http://aviationweather.gov/adds/dataserver_current/httpparam?datasource=metars&requestType=retrieve&format=xml&mostRecentForEachStation=constraint&hoursBeforeNow=1&stationString=PAJN&fields=raw_text

返回數據的例子地圖示例:Alaska Airports Google Map

我想採取「raw_text 「並將其作爲METAR數據顯示在機場數據下方,理想情況是在」單擊「或每隔x分鐘刷新一次數據。首先,我想讓朱諾工作,但我希望所有機場都這樣做,而不必每次都要求800多個機場提出要求。預先感謝您的任何幫助。

回答

0

你的問題太寬而不能回答一切,但讓我們先從第一位:獲取數據。

隨着XML數據源,您不能使用AJAX來獲取數據「跨域」如果源服務器不允許你的出身,這是這裏的情況,據我可以看到。

你有幾個解決方案,但:

  1. 有自己的服務器獲取數據(用PHP爲例)和查詢使用AJAX自己的腳本。
  2. 檢查他們是否提供另一個源(JSONP)或允許您的原始域的JSON源。
  3. 尋找這個數據的另一個來源。

對於您的信息,Geonames有一個天氣/ METAR報告的web服務。它可以在這裏找到:http://www.geonames.org/export/JSON-webservices.html

這可以用一個簡單的AJAX調用中使用。您可以開設一個免費帳戶,每個應用程序每天可獲得30,000個積分,每小時可獲得2000個積分。有關詳細積分可以在這裏找到:http://www.geonames.org/export/credits.html

這裏是PAJN演示查詢:http://api.geonames.org/weatherIcaoJSON?ICAO=PAJN&username=demo

希望這有助於。

+0

謝謝你的信息,我感謝你的幫助。今晚我會好好看看,看看我能想出什麼。 – JukoJones

+0

那你想到了什麼? – MrUpsidown

+1

[這裏](http://jsfiddle.net/JukoJones/p8t6C/1/)是我能夠想出的一個例子。這是目前非常基本的。至少我有一個起點。謝謝。我還發現讓js與谷歌地圖一起工作是非常困難的。另一方面谷歌地球似乎處理它就好了。我的下一步是看看我能否做到這一點。 – JukoJones