我正在使用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中有效 任何人都可以建议我,如果有任何方法尽可能快地获得经度和纬度。 在此先感谢您的帮助。
答案 0 :(得分:1)
Android设备的GPS在空闲状态下运行,直到请求节省电池,一旦请求需要时间进行通信和计算,就无法使此过程更快。
如果您同时具有精确和粗略的位置权限,则Geolocation
API应在GPS结算时报告无线电/ GPRS位置,但这并不准确。
我相信您的方法尽可能快,无法在应用启动时调用Geolocation
,以确保其始终进行轮询。