Обновить / Обновить карту Google - PullRequest
0 голосов
/ 13 июля 2011

У меня есть карта Google, и я хочу обновить или перезагрузить карту из своего кода. Как это возможно?

Я перехожу по этой ссылке http://www.codigoactionscript.org/langref/googlemaps/com/google/maps/MapEvent.html, но там нет ничего для обновления / перезагрузки карты.

1 Ответ

1 голос
/ 13 июля 2011

Это не совсем "обновление карты"; однако, выполняет то же самое.

Используйте таймер, чтобы удалить карту со сцены и добавить ее снова, вызывая полный жизненный цикл карты Google:


package
{
    import com.google.maps.LatLng;
    import com.google.maps.Map;
    import com.google.maps.MapEvent;
    import com.google.maps.MapType;

    import flash.display.Sprite;
    import flash.events.TimerEvent;
    import flash.geom.Point;
    import flash.utils.Timer;

    public class Test extends Sprite
    {

        private var _map:Map;

        private var _timer:Timer;

        public function Test()
        {
            super();

            createMap();

            _timer = new Timer(300000); // 5-min
            _timer.addEventListener(TimerEvent.TIMER, timerHandler);
            _timer.start();
        }

        private function timerHandler(event:TimerEvent):void
        {
            while (numChildren > 0)
                removeChildAt(0);

            createMap();
        }

        protected function createMap():void
        {
            _map = new Map();
            _map.key = "YOUR_API_KEY";
            _map.sensor = "false";
            _map.setSize(new Point(stage.stageWidth, stage.stageHeight));
            addChild(_map);

            _map.addEventListener(MapEvent.MAP_READY, mapReadyHandler);
        }

        protected function mapReadyHandler(event:MapEvent):void
        {
            _map.removeEventListener(MapEvent.MAP_READY, mapReadyHandler);
            _map.setCenter(new LatLng(37.4419, -122.1419), 13, MapType.NORMAL_MAP_TYPE);
        }

    }
}
...