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

 

posted on 2015-10-20 15:45  晏过留痕  阅读(1085)  评论(1编辑  收藏  举报