2014-10-06 93 views
-1
var geo:Geolocation; 

if (Geolocation.isSupported) 
{ 
    geo = new Geolocation(); 
    geo.addEventListener(GeolocationEvent.UPDATE, updateHandler); 
    geo.setRequestedUpdateInterval(10000); 
} 
else 
{ 
    geoTextField.text = "Geolocation feature not supported"; 
} 

function updateHandler(event:GeolocationEvent):void 
{ 
    lat = event.latitude.toString(); 
    lon = event.longitude.toString(); 
    var lat:String; 
    var lon:String; 
    trace(lat); 
    trace(lon); 
    var weather_xml_url:String = "http://api.openweathermap.org/data/2.5/weather? lat="+lat+"&lon="+lon+"&units=metric&lang=lv&mode=xml"; 
    trace(weather_xml_url); 
    var weather:XML = new XML(); 
    var weather_url:URLRequest = new URLRequest(weather_xml_url); 
    var weatherLoader:URLLoader = new URLLoader(weather_url); 
    trace(weather); 
    weatherLoader.addEventListener(Event.COMPLETE, weatherLoaded); 

    function weatherLoaded(e:Event):void 
    { 
     weather = XML(weatherLoader.data); 
     temp_txt.text = [email protected]; 
     wind_txt.text = [email protected]+ "m/s"; 

     var weather_icon:String = [email protected]; 
     icons_mc.gotoAndStop(weather_icon); 
    } 
} 

當我跟蹤跟蹤(緯度);跡(LON);它工作完美 當我跟蹤跟蹤(weather_xml_url);它工作完美 當我跟蹤(天氣);它給我一個nullXML無法正常工作與GPS GPS

爲什麼不讀取XML我試圖在網絡上的XML地址是正確的,但它不加載weatherLoader函數。

回答

0

首先,您將trace(weather);放在不正確的地方。它只能在加載完成後纔可用,而不是之前。

其次,儘量寫的weather = new XML(weatherLoader.data);代替weather = XML(weatherLoader.data);

XML()只是鑄造對象到XML類,但new XML()將創建新的XML實例。

而主要問題:你忘了開始加載XML。現在你有下面的代碼:

var weather_url:URLRequest = new URLRequest(); 
var weatherLoader:URLLoader = new URLLoader(weather_url); 
weatherLoader.addEventListener(Event.COMPLETE, weatherLoaded); 

它創建URLRequest,然後創建基於URLRequestURLLoader和負載完成增加聽衆。 但是,它不會開始加載。所以,要修復它,你需要添加下一行:

weatherLoader.load(weather_url); 
+0

只是改變這個天氣=新的XML(weatherLoader.data);沒有什麼變化... – user3332885 2014-10-06 12:51:07

+0

哦,對不起,我沒有看到主要問題:你沒有調用load()方法。我更新了答案,試試吧。 – Crabar 2014-10-06 13:00:09

+0

對不起,但我不undarstand ... – user3332885 2014-10-06 13:22:37