XML无法正常工作与GPS GPS

问题描述:

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函数。

首先,您将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