0

我创建了一个查找设备坐标的按钮。代码中没有错误,但由于某种我无法理解的原因,事件没有被触发。

这是我的代码:

protected function lblCheckIn_clickHandler(event:MouseEvent):void
        {
            if (Geolocation.isSupported)
            {
                lblLat.text = "Finding Location...";
                geo.addEventListener(GeolocationEvent.UPDATE, onUpdate);


            }
            else
            {
                lblLat.text = "Geolocation is not supported on this device.";
            }
        }

后来我有事件代码:

            protected function onUpdate(event:GeolocationEvent):void
        {
            if (event.horizontalAccuracy <= 10)
            {
                Lat = event.latitude.toString();
                Long = event.longitude.toString();
                lblLat.text = Lat;
                lblLong.text = Long;
                geo.removeEventListener(GeolocationEvent.UPDATE, onUpdate);
                navigator.pushView(PersonSelect);
            }
            else
            {
                lblLat.text = "Updating";
            }
        }

哦,我也做了通常的进口

                          import flash.filesystem.File;
        import flash.sensors.Geolocation;
        import flash.events.GeolocationEvent
        import spark.events.ViewNavigatorEvent
        import flash.utils.ByteArray;

关于为什么我的事件没有调用的任何线索?

4

2 回答 2

1

我找出了这个特定问题的最终原因。它源于 Flash Builder 没有安装完整的 Android SDK 或 IOS SDK。一旦我通过将 SDK 文件夹复制到 Adob​​e Flash Builder 中的正确路径来手动安装这些,我的 GPS 事件就被成功调用。

总而言之,如果您在代码和一切看起来都正常但它不会调用您的事件时遇到问题,那么请检查以确保您最新的 Flex SDK 已正确安装用于 Android 和/或 iOS

于 2012-03-19T12:28:21.157 回答
1

您是否实例化了 的实例geo

 if (Geolocation.isSupported) 
 { 
      lblLat.text = "Finding Location..."; 
      geo = new Geolocation(); 
      geo.addEventListener(GeolocationEvent.UPDATE, Update); 
 }
于 2012-03-14T12:31:20.430 回答