基础知识
配置开发环境
以Flash Builder为例。如果您使用Flash IDE、FDT或者Flash Develop配置方法会稍有不同。
在Flash Builder里创建Flex/ActionScript Project,在Package Explorer中右键点击新创建的项目,选择Properties。点击Flex Library Build Path菜单,选择Library path标签页,点击Add Swc按钮,选择您下载的BMap.swc。
确认完成BMap.swc的配置。
百度地图的“Hello, World”
开始学习百度地图Flash API最简单的方式是看一个简单的示例。
以下代码创建了一个地图并以天安门作为地图的中心:
package { import baidu.map.basetype.Size; import baidu.map.core.Map; import baidu.map.basetype.LngLat; import baidu.map.layer.Layer; import baidu.map.layer.RasterLayer; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; /** * Demo:Hello World! */ public class HelloWorld extends Sprite { public function HelloWorld() { // 舞台设置 stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; // 创建一个大小为600*400的Map对象 var map:Map = new Map(new Size(600, 400)); addChild(map); // 初始化Map的中心点和显示级别 map.centerAndZoom(new LngLat(116.404, 39.915), 12); // 添加底图 var layer:Layer = new RasterLayer("BaiduMap", map); map.addLayer(layer); } } }
下面将详细为您解释上述代码。
新建文档类
创建一个文档类,设置舞台属性。如下代码:
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; /** * Demo:Hello World! */ public class HelloWorld extends Sprite { public function HelloWorld() { // 舞台设置 stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; } } }
创建地图对象
需要先import Size类和Map类。
import baidu.map.basetype.Size; import baidu.map.core.Map;
Map的参数是Size对象,表示了Map的大小。
// 创建一个大小为600*400的Map对象 var map:Map = new Map(new Size(600, 400)); addChild(map);
地图初始化
需要先import LngLat类。
import baidu.map.basetype.LngLat;
将地图的中心点坐标设置为经度116.404,纬度39.915。显示级别设置为12。
map.centerAndZoom(new LngLat(116.404, 39.915), 12);
创建底图
地图展现需要通过添加底图来实现。先import Layer类和RasterLayer类。
import baidu.map.layer.Layer; import baidu.map.layer.RasterLayer;
初始化图层,并添加到Map中。
var layer:Layer = new RasterLayer("BaiduMap", map); map.addLayer(layer);
地图配置与操作
地图被实例化并完成初始化以后,就可以与其进行交互了。Flash API中的地图对象的外观与行为与百度地图网站上交互的地图非常相似。它支持鼠标拖拽、滚轮缩放、双击放大等交互功能。您也可以修改配置来改变这些功能。 比如,默认情况下地图不支持鼠标滚轮缩放操作,因为这样可能会影响整个页面的用户体验,但是如果您希望在地图中使用鼠标滚轮控制缩放,则可以调用map.enableScrollWheelZoom方法来开启。配置选项可以在Map类参考的配置方法一节中找到。
此外,您还可以通过编程的方式与地图交互。
Map类提供了若干修改地图状态的方法。如:
map.center = new LngLat(114.30, 30.54); map.zoom = 13;