flex 4.6:获取当前位置(尽可能快)

时间:2014-01-02 09:58:32

标签: android actionscript-3 flex gps flexbuilder

我正在使用flex 4.6移动应用程序我的问题当我使用gps传感器获取当前位置时需要很多时间在35秒的限制内进行2次更新我的代码是

            protected function GetGPSposition():void
        {
            //Initialize the location sensor.
            geo = new Geolocation();
            if(! geo.muted){  //gps is enabled
                geo = new Geolocation();
                geo.setRequestedUpdateInterval(10);
                geo.addEventListener(GeolocationEvent.UPDATE, handleLocationRequest);
                geo.addEventListener(StatusEvent.STATUS,handleErrorGPS);
            }
            else if(geo.muted){ //gps is disabled
                    (new GPS2()).open(this, false) ;
                    internetGpsEnable = false ;
                }
        }
            protected function handleLocationRequest(event:GeolocationEvent):void 
        { 

            counter++ ;
            if (counter > 1)
            {
                long = event.longitude;
                lat =  event.latitude;
                internetGpsEnable =true ;
                lblGPS.text = null;
            }
        }

注意:GetGPSposition()在creationComplete中有效 任何人都可以建议我,如果有任何方法尽可能快地获得经度和纬度。 在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

Android设备的GPS在空闲状态下运行,直到请求节省电池,一旦请求需要时间进行通信和计算,就无法使此过程更快。

如果您同时具有精确和粗略的位置权限,则Geolocation API应在GPS结算时报告无线电/ GPRS位置,但这并不准确。

我相信您的方法尽可能快,无法在应用启动时调用Geolocation,以确保其始终进行轮询。