zoukankan      html  css  js  c++  java
  • [ActionScript 3.0] AS3调用百度地图API

     1 package
     2 {
     3     import baidu.map.basetype.LngLat;
     4     import baidu.map.basetype.Size;
     5     import baidu.map.config.Anchor;
     6     import baidu.map.control.base.Navigator;
     7     import baidu.map.control.base.Overview;
     8     import baidu.map.control.base.Ruler;
     9     import baidu.map.control.base.Scaler;
    10     import baidu.map.core.Map;
    11     import baidu.map.event.MapEvent;
    12     import baidu.map.layer.Layer;
    13     import baidu.map.layer.RasterLayer;
    14     
    15     import com.controls.TempMapControl;
    16     
    17     import flash.display.Sprite;
    18     import flash.display.StageAlign;
    19     import flash.display.StageScaleMode;
    20     
    21     /*************************************************************************************
    22      * Flash API为开发者提供了如下控件:                                                    
    23      * Control:控件的抽象基类,所有控件均继承此类的方法、属性。通过此类您可实现自定义控件。   
    24      * Navigator:地图平移控件,默认位于地图左上方,它包含控制地图平移的功能。
    25      * Scaler:地图缩放控件,默认位于地图左上方,它包含控制地图缩放的功能。
    26      * Overview:地图缩略图控件,默认位于地图右下方,是一个可折叠的缩略地图。
    27      * Ruler:地图比例尺控件,默认位于地图左下方,显示地图的比例关系。
    28      * Copyright:地图版权控件,默认位于地图左下方。
    29      *************************************************************************************
    30     /**
    31      * 测试百度地图API 
    32      * @author Frost.Yen
    33      * 
    34      */    
    35     public class BaiduMapTest extends Sprite
    36     {
    37         public function BaiduMapTest()
    38         {
    39             stage.scaleMode = StageScaleMode.NO_SCALE;
    40             stage.align = StageAlign.TOP_LEFT;
    41             
    42             //创建一个大小为600*400的Map对象
    43             var map:Map = new Map(new Size(600,400));
    44             this.addChild(map);
    45             //初始化Map的中心点和显示级别(将地图的中心点坐标设置为经度116.404,纬度39.915。显示级别设置为12。)
    46             map.centerAndZoom(new LngLat(116.404,39.915),12);
    47             //添加底图(初始化图层,并添加到Map中。)
    48             var layer:Layer = new RasterLayer("BaiduMap",map);
    49             map.addLayer(layer);
    50             
    51             // 添加Navigator
    52             var nav:Navigator = new Navigator(map);
    53             map.addControl(nav);
    54             // 添加Overview            
    55             var overview:Overview = new Overview(map);
    56             map.addControl(overview);
    57             // 添加Scaler            
    58             var scaler:Scaler = new Scaler(map);
    59             map.addControl(scaler);
    60             // 添加Ruler            
    61             var ruler:Ruler = new Ruler(map);
    62             //ruler.anchor = Anchor.TL;//anchor表示控件的停靠位置
    63             //ruler.offset = new Size(50,20);//offset可以通过偏移量来指示控件距离地图边界有多少像素
    64             map.addControl(ruler);
    65             
    66             //添加自定义控件
    67             var temp:TempMapControl = new TempMapControl(map);
    68             map.addControl(temp);
    69             //为map添加事件
    70             map.addEventListener(MapEvent.CLICK,function(e:MapEvent):void{trace("click map")});
    71         }
    72     }
    73 }

    可以实现自定义Control控件;

    package com.controls
    {
        import baidu.map.basetype.Size;
        import baidu.map.config.Anchor;
        import baidu.map.control.Control;
        import baidu.map.core.IMap;
        
        import flash.events.Event;
        import flash.text.TextField;
    
        /**
         * 自定义Control控件
         * @author Frost.Yen
         * 
         */    
        public class TempMapControl extends Control
        {
            public function TempMapControl(map:IMap)
            {
                super(map);
                _offset = new Size(200,20);
                _anchor = Anchor.TC;
                _anchor = Anchor.BC;
                trace(_anchor);
            }
            
            override protected function create(evt:Event=null):void
            {
                var tf:TextField = new TextField();
                tf.autoSize = "left";
                tf.text = "temp control";
                addChild(tf);
            }
            
            override protected function destroy(evt:Event=null):void
            {
                super.destroy(evt);
            }
            
            override public function dispose():void
            {
                super.dispose();
            }
            
        }
    }
  • 相关阅读:
    在 IdentityServer4 中创建客户端
    IdentityServer4 快速上手
    GraphQL Part IV: 浏览器内的 IDE
    GraphQL Part VII: 实现数据变更
    GraphQL Part VIII: 使用一对多查询
    GraphQL Part VI: 使用 Postgres 和 EF Core 持久化数据
    GraphQL Part V: 字段,参数和变量
    GraphQL Part III: 依赖注入
    GraphQL Part II: 中间件
    GraphQL Part I: hello, world.
  • 原文地址:https://www.cnblogs.com/frost-yen/p/4895037.html
Copyright © 2011-2022 走看看