1

私はflashbuilder 4.6を試していて、オンラインで見つけたこの単純な/ベアボーンの地理位置情報コードを使用して、それとその使用方法についてもっと学びたいと思っています...

私が知りたいのは、ジオロケーションルーチンを停止/中断して、ロケーションのポーリングを停止し、ユーザーがジオロケーションを「開始」するのを待つ方法です。

clearInterval(interval); を使用する場合 私が推測するループを止めることができます-しかし、geo2は引き続き存在し、デバイスリソースを使用しますよね? たとえば、slideToggle を使用してそれを制御すると、コードはどのようになりますか?

ジオロケーション コード スニペット Im を実験中...

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 に答える