1

我正在尝试使用 flashbuilder 4.6 并正在使用我在网上找到的这个简单/准系统的地理定位代码进行一些测试,因为我试图了解更多关于它以及如何使用它的信息......

我很想知道的一件事是如何停止/中断地理定位程序,以便它停止轮询位置并等待用户“启动”地理定位。

如果我使用 clearInterval(interval); 我猜这可以停止循环——但 geo2 继续存在并使用设备资源,对吗?例如,使用 slideToggle 控制它的代码会是什么样子?

地理定位代码片段我正在试验......

private function onMapReady(e:Event):void
        {
            if (Geolocation.isSupported)
            {
                var geo = new Geolocation();
                geo.setRequestedUpdateInterval(100);
                geo.addEventListener(GeolocationEvent.UPDATE, geolocationUpdateHandler);
            }
                else
                {
                    trace("No geolocation support.");
                }   
        }



        private function geolocationUpdateHandler(event:GeolocationEvent):void
        {
            trace("lat:" + event.latitude.toString() + " - ");
            trace("long:" + event.longitude.toString() + "° - ");
            trace("Accuracy:" + event.horizontalAccuracy.toString() + " m");

        }
4

1 回答 1

4

如果您想停止对轮询更新做出反应,只需删除侦听器:

geo.removeEventListener(GeolocationEvent.UPDATE, geolocationUpdateHandler);

如果您想完全关闭轮询,只需将其取消:

geo = null;

(并确保您也首先删除任何听众)

于 2013-01-29T17:39:36.250 回答