刷新/重新加载Google地图

时间:2011-07-12 23:41:29

标签: flash actionscript-3 google-maps refresh reload

我有谷歌地图,我想从我的代码刷新或重新加载地图。怎么可能?

我浏览了这个链接http://www.codigoactionscript.org/langref/googlemaps/com/google/maps/MapEvent.html,但那里没有任何刷新/重新加载地图。

1 个答案:

答案 0 :(得分:1)

这并不是“刷新地图”;然而,完成了同样的事情。

使用计时器从舞台中删除地图并重新添加,调用完整的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);
        }

    }
}