刷新/重新加载 Google 地图

发布于 2024-11-24 02:47:11 字数 275 浏览 1 评论 0原文

我有一个 Google 地图,我想从我的代码刷新或重新加载地图。怎么可能呢?

我浏览此链接 http://www.codigoactionscript.org/ langref/googlemaps/com/google/maps/MapEvent.html 但那里没有刷新/重新加载地图的内容。

I have a Google map and I want to refresh or reload map from my code. How is it possible?

I go through this link http://www.codigoactionscript.org/langref/googlemaps/com/google/maps/MapEvent.html but there is nothing for refresh/reload map there.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十级心震 2024-12-01 02:47:11

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

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

    }
}

This isn't exactly "refreshing the map"; however, accomplishes the same thing.

Use a timer to remove the map from the stage and add it again, calling the full Google map lifecycle:

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);
        }

    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文